【发布时间】:2020-09-01 19:16:24
【问题描述】:
这适用于使用 PostgreSQL 的 Rails 5 / Active Record 5。
假设我有两个模型:Product 和 Widget。一个 Product has_many 小部件和一个 Widget has_many 产品通过名为 products_widgets 的连接表。
我想编写一个查询来查找与 两个 与 id=37 的小部件和 与 id=42 的小部件相关联的所有产品。
我其实有一个id列表,但是如果我能写出上面的查询,我一般可以解决这个问题。
请注意,此查询的更简单版本是查找与 要么 具有 id=37 的小部件或 具有 id=42 的小部件相关联的所有小部件,这你可以这样写:
Product.joins(:products_widgets).where(products_widgets: {widget_id: [37, 42]})
但这不是我需要的。
【问题讨论】:
标签: ruby-on-rails postgresql activerecord subquery inner-join