Dav*_*vid 6 activerecord has-many-through ruby-on-rails-3
如何在"has_many:through"关系中查询具有特定分支的公司?
#company.rb
has_many :branch_choices
has_many :branches, :through => :branch_choices
Run Code Online (Sandbox Code Playgroud)
"查找所有分行ID为3的公司"
Roc*_*etR 14
Company.includes(:branches).where(:branches => {:id => 3})
Run Code Online (Sandbox Code Playgroud)
要么
Branch.find(3).companies
Run Code Online (Sandbox Code Playgroud)
更新 实际上,第一个片段有一个缺点:它急切地加载分支机构和公司.为避免这种开销,您可以考虑使用左连接:
Company.
joins("LEFT JOIN `branch_choices` ON `branch_choices`.`company_id` = `companies`.`id`").
where(:branch_choices => {:branch_id => 3})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5999 次 |
| 最近记录: |