我在查询has_many关联时遇到了麻烦。上下文是商店。
class Store < ActiveRecord::Base
has_many :items
end
class Item < ActiveRecord::Base
belongs_to: store
end
商店表格:
id name
1 Macys
2 Target
3 Dillards
物品表:
id store_id name
1 1 pants
2 1 shirt
3 2 pants
4 2 shirt
5 3 shirt
我想查询只销售衬衫的商店。因此,我需要一个查询,返回id
为3
的store
记录。
当我尝试执行以下操作时:
Store.includes(:items).where(
items: { name: %w(shirts)} ).references(:items)
它返回store_ids
1、2和3(所有商店),因为它们都有衬衫。
#<商店 id: 3, 名称: "Dillards">
- Alex