【发布时间】:2014-03-22 21:26:43
【问题描述】:
我有一个数据库,其中 Notebooks 和 Notes 具有 many_to_many 关系,而 Notes 和 Facts 具有 many_to_many 关系。如何使用 Ruby Sequel 查询与给定 Notebook 关联的 Facts(通过 Note 间接关联)。我应该在 Notebooks 和 Facts 之间创建另一个 many_to_many 关系吗?那会更快吗?
【问题讨论】:
-
您可以在笔记本控制器中使用 has_many :facts, through: :notes。获取关系对象将是 notebook.facts。另一种方法是 Notebooks.joins(:notes).joins(:facts).where(your query) 将返回笔记本的集合。