我正在尝试根据HABTM关系中的用户查询对话。我有conversations
,users
和conversations_users
个表,需要根据对话中的用户抓取对话。
Conversation
模型包含与:users
的HABTM关系。
我试过这个:
Conversation.includes(:users).where(users: {id: [8,10]})
但它使用OR语句,我需要8和10才需要
答案 0 :(得分:0)
好吧,以下似乎可以满足我的需求:
user_ids = [8,10]
Conversation.joins(:users)
.where(users: {id: user_ids})
.group("conversations.id")
.having(['COUNT(*) = ?', user_ids.count])
请参阅this答案了解更多详情