我正在处理一个我决定建立关系的应用程序。情况是这样的:
实施的关系是:
Category has_many Items
Outlets HABTM Categories
问题是Outlets需要与Item模型有多对多的关系。现在我可以简单地实现它:
Outlet HABTM Items
这将为我提供一个包含outlet_id
和item_id
的表格,但在这种情况下,我不确定如何找到分配给它的某个类别的商品列表。
我也看到了has_many :through
示例,但它也建议在表中有两个外键;我认为在这种情况下应该有三个outlet_id
,category_id
,item_id
,其中所有3个的组合将是唯一的。
我可以使用原始SQL查询轻松实现这一点,但我还没有使用任何原始查询,并希望尽可能避免。如何使用模型关系正确地完成此操作?
答案 0 :(得分:0)
我会这样做:
Outlet has_many categories & Category has_many items
这样,我们就可以获得items
中特定category
的所有outlet
,还可以获得outlet
到categories
的所有项目。