我与has_and_belongs_to_many用户关联进行了模型对话
class Conversation < ActiveRecord::Base
has_many :messages
has_and_belongs_to_many :users
end
我想搜索两个用户关联的对话。
我正在考虑加入users-table两次并使用AND AND条件。我曾试图使用AREL,但我还没有让它正常工作。
解决方法是使用&amp;用户对话的操作员,如:
@first_user.conversations & @second_user.conversations
=> Returns conversations that both users are subscribed to.
但这会导致多个sql查询,我认为这不是最好的选择。
感谢您的帮助!
答案 0 :(得分:0)
Conversation.joins(:users).where('user_id in (?)',[1,2]).group(:id).having('count(user_id) > 1')