何度も発生する可能性のある関連付けでnot_nullを検索する検索ロジックがありますが、オブジェクトのUNIQUE/DISTINCTインスタンスを1つだけ表示したいと思います。
Company.contact_emails_id_not_null
その会社に関連付けられているcontact_emailの数に関係なく、1つの会社だけが必要です:through =>:contacts
何度も発生する可能性のある関連付けでnot_nullを検索する検索ロジックがありますが、オブジェクトのUNIQUE/DISTINCTインスタンスを1つだけ表示したいと思います。
Company.contact_emails_id_not_null
その会社に関連付けられているcontact_emailの数に関係なく、1つの会社だけが必要です:through =>:contacts
レール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 を * にして、すべてのフィールドを含めることもできます。
それが役立つかどうか教えてください。
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.*'