如何创建一个名为scope的searchlogic返回DISTINCT(非重复?)

时间:2010-10-05 02:01:03

标签: ruby-on-rails distinct searchlogic

我有一个searchlogic,可以在多次出现的关联上搜索not_null,但我只想显示该对象的一个​​UNIQUE / DISTINCT实例:

Company.contact_emails_id_not_null

我只想要一家公司,无论有多少contact_emails与该公司相关联:via => :接触

2 个答案:

答案 0 :(得分:2)

假设有轨道3:

Company.contact_emails_id_not_null.select("distinct name_of_your_field")

如果有轨道2.3.x(请原谅我,如果结果是假的,我不确定)

Company.contact_emails_id_not_null.find(:all, :select => "distinct name_of_your_field")

name_of_your_field也可以*包含所有字段。

如果有帮助,请告诉我。

答案 1 :(得分:1)

在Rails 2.3.11中,这对我有用......

@vendor_search = Vendor.searchlogic
@vendors = @vendor_search.paginate({
                                   :page => page,
                                   :per_page => 32,
                                   :order => 'name',
                                   :select => 'DISTINCT vendors.*'
                               })

那里有额外的项目特定信息,但相关部分是......

:select => 'DISTINCT vendors.*'