我有两个模型,一个是User
,另一个是Message
。 User
模型具有一个属性名称,而Message
模型具有一个称为文本的属性。用户和消息之间存在多对多关系。现在想到两个用户John和Jane,我想检索同时属于John和Jane的所有消息。我该怎么做。
用户模型
has_and_belongs_to_many :messages
消息模型
has_and_belongs_to_many :users
答案 0 :(得分:1)
我会这样做:
Message.includes(:users).where(users: { name: %w(John Jane) })
打破这一点:
# Enable user conditions in the messages query
Message.includes(:users)
# Then take messages belonging to Jane and John
.where(users: { name: %w(John Jane) })