Mar*_*tin 11 ruby ruby-on-rails where-clause
我在rails应用程序中有以下模型
category => company => store
Run Code Online (Sandbox Code Playgroud)
商店有belongs_to公司,公司有belongs_to类别关系.现在我想在商店对象上使用where方法来检索同一类别中的所有商店.
我想要这样的东西
@stores.nearbys(5).where("stores.company.category_id = xxx")
Run Code Online (Sandbox Code Playgroud)
有人可以给我一个提示
Ere*_*bih 22
尝试连接到连接表的位置:
@stores.nearbys(5).joins(:company).where("companies.category_id = xxx")
Run Code Online (Sandbox Code Playgroud)
编辑:
要获取商店的类别,您首先必须将类别方法委派给其公司:
class Store < ActiveRecord::Base
belongs_to :company
delegate :category, :to => :company
end
Run Code Online (Sandbox Code Playgroud)
现在只需在查询中调用该方法:
@stores.nearbys(5).joins(:company).where("companies.category_id = ?", self.company.id)
Run Code Online (Sandbox Code Playgroud)
Sim*_*tti 11
where 支持嵌套哈希.
@stores.nearbys(5).where(:company => { :category_id => @category.id }, joins: company)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21535 次 |
| 最近记录: |