1

私はこのようなことをしようとしています:

filter_categorys = params[:filter_categorys]
companies = Company.where('id_category = (?)', filter_categorys).joins(:subsidiary).where('zone = Nuñez')

そして、それは機能していません....

そのため、id_category を持ち、「ゾーン」内に少なくとも 1 つの子会社があるすべての会社を取得する必要があります。

私はこれが方法ではないと思います...助けてください!:D

会社.rb:

class Company < ActiveRecord::Base

    has_many :subsidiary, :foreign_key => :id_company
    has_many :benefit, :foreign_key => :id_company
    set_primary_key :id_company
    self.table_name = 'tbl_companys'

end

Subsidiary.rb:

class Subsidiary < ActiveRecord::Base

    belongs_to :company
    set_primary_key :id_subsidiary
    self.table_name = 'tbl_subsidiaries'

end
4

1 に答える 1

2

ゾーンが補助テーブルにあることを where 句に「伝える」必要があります。

Company.where(id_category: filter_categorys).joins(:subsidiary).where(subsidiary: { zone: 'Nuñez' }

「リレーション子会社が見つかりませんでした」と表示された場合は、次を試してください。

Company.where(id_category: filter_categorys).joins(:subsidiary).where(tbl_subsidiaries: { zone: 'Nuñez' }
于 2013-06-04T20:22:25.160 に答える