代码之家  ›  专栏  ›  技术社区  ›  Satchel

如何使名为scope return的searchlogic具有非重复性(non-duplicates?)

  •  3
  • Satchel  · 技术社区  · 15 年前

    我有一个searchlogic,它在可能多次发生的关联上搜索not_null,但我只想显示对象的一个唯一/不同的实例:

    Company.contact_emails_id_not_null
    

    2 回复  |  直到 15 年前
        1
  •  2
  •   Hugo    15 年前

    假设轨道3:

    Company.contact_emails_id_not_null.select("distinct name_of_your_field")
    

    如果rails 2.3.x(如果结果是错误的,请原谅我,我不确定)

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

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

    如果有帮助,请告诉我。

        2
  •  1
  •   Ethan    14 年前

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

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

    :select => 'DISTINCT vendors.*'