首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >distinct用于使用ransack进行排序

distinct用于使用ransack进行排序
EN

Stack Overflow用户
提问于 2013-11-11 23:57:07
回答 2查看 2.8K关注 0票数 5

我试图用Ransack中的sort_link对表中的值进行排序。我找到了an example,它真的很有用。但是,我想我对“distinct”有问题。我得到了这个错误'ORDER-BY表达式必须出现在SELECT列表中;DISTINCT‘。我的代码如下所示:

代码语言:javascript
复制
q =user.joins(:buyer).order('users.name')
ransack = params["filter"]
@search = q.search(ransack)
@users = @search.result(:distinct=>true)

我是不是忘了什么?提前感谢!

EN

回答 2

Stack Overflow用户

发布于 2015-09-29 11:26:23

根据this issue,您可以使用ActiveRecord joins查询或select查询来添加所需的列来解决此问题,例如:

代码语言:javascript
复制
q = user.order('users.name')
ransack = params["filter"]
@search = q.search(ransack).
            result(:distinct=>true).
            joins(:buyer).
            includes(:buyer)
@users = @search.all
票数 2
EN

Stack Overflow用户

发布于 2013-12-13 06:57:22

你有distinct as true。Ransack在Postgresql中以错误的方式调用distinct值,这是你得到这个错误的原因。如果你使用另一个数据库,你很可能不会。

因此,如果您设置distinct false,您将不会得到这个错误。如果你想知道为什么你需要distinct,请查看:

代码语言:javascript
复制
  http://www.w3schools.com/sql/sql_distinct.asp

如果我需要的话,我正在尝试找到一种方法来包含distinct。当我发现的时候,我会编辑这个答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19910574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档