【发布时间】:2016-06-08 23:29:59
【问题描述】:
例如,我有一个Product 和一个Favorite 关联:
class Product < ApplicationRecord
has_many :favorites
end
class Favorite < ApplicationRecord
belongs_to :product
belongs_to: user
end
class User < ApplicationRecord
has_many :favorites
end
如何找到 ID 为 1 的用户和 ID 为 2 的用户收藏的产品?更好的是,只有这两个用户收藏过的产品(没有其他人收藏过)。
我已尝试加入多个 where 查询,但未返回任何结果。我在寻找答案的过程中花了很长时间,但我真的只是碰壁了。
这是我最近的尝试:
Product.includes(:favorites).where(favorites: { user_id: 1 }).where(favorites: { user_id: 2 })
【问题讨论】:
-
您是指两个用户都收藏的产品,还是任何一个用户都收藏的产品?
-
@dodecaphonic 两者
标签: ruby-on-rails postgresql activerecord