【问题标题】:Rails - What are the proper 3-way table relationships?Rails - 什么是正确的三向表关系?
【发布时间】:2016-09-11 08:26:09
【问题描述】:

我正在开发一个应用程序,在该应用程序中我无法决定一段关系。情况是这样的:

实现的关系是:

Category has_many Items
Outlets HABTM Categories

问题是 Outlets 需要与 Item 模型有多对多的关系。现在我可以简单地实现它:

Outlet HABTM Items

这会给我一个带有outlet_iditem_id 的表格,但在这种情况下,我不确定如何找到分配给它的类别之一的出口的项目列表。

我还看到了has_many :through 示例,但它也建议在表中有两个外键;我相信在这种情况下应该有三个,outlet_idcategory_iditem_id,这三个的组合将是唯一的。

我可以使用原始 SQL 查询轻松实现这一点,但我还没有使用任何原始查询,并且希望尽可能避免。如何使用模型关系正确地做到这一点?

【问题讨论】:

    标签: ruby-on-rails-4 rails-activerecord has-many-through has-and-belongs-to-many


    【解决方案1】:

    我会这样做:

    Outlet has_many categories & Category has_many items
    

    通过这种方式,我们可以在outlet 中获取特定category 的所有items,也可以通过categories 获取outlet 的所有项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-02
      • 2016-08-16
      • 1970-01-01
      • 1970-01-01
      • 2010-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多