我有两个多对多的模型和另一个
Storetypes:
class Storetype < ActiveRecord::Base
has_and_belongs_to_many :stores
end
商户:
class Store < ActiveRecord::Base
belongs_to :group
has_many :products
end
组:
class Group < ActiveRecord::Base
has_many :stores
has_many :storetypes
end
我需要做一个查询,我在商店类型上获得所有商店,即时通讯做这样的事情:
@storetype_id = Storetype.first
@stores = @group.stores.where(@storetype_id => @group.stores)
有什么想法吗?
编辑
我需要的输出是属于某种商店类型的所有商店
答案 0 :(得分:1)
我会指出这里几个问题。
当您说Storetype.first
时,我认为您的意思是@storetype.first
。你混淆了这个类和类的实例。
所以说我这样做:
@storetype = Storetype.first
我正在创建类Storetype
的实例,这是您的模型。来找我?
所以回答你的问题,一旦我有了一个实例,我现在可以简单地运行
@storetype.stores
到该商店类型的所有商店。看看我如何走向你的方法?我也根本不需要使用storetype的id。更简单,更清洁。
对于关系的其他部分,要获取商店的所有商店类型,您只需运行(使用Store
的实例)
@store.storetypes