这些是我的课程和关系
class User
has_many :conversation_participants
has_many :conversations, :through => :conversation_participants
end
class ConversationParticipant
belongs_to :user
belongs_to :conversation
end
class Conversation
has_many :messages
has_many :conversation_participants
has_many :users, :through => :conversation_participants
end
因此,当我想在 user_ids 12 和 15 之间创建对话时,我首先要检查这两者之间的对话是否已经存在。所以我需要找到的是:
ConversationParticipants where user_id IN (12, 15) AND “两个 conversationparticipant 行具有相同的对话 id”
我缺乏适当的词语来解释这个查询,但我想每个人都会明白我的意思。“这两个用户之间的对话是否已经存在?”。我既不知道如何在 SQL 和 Rails 中做到这一点,所以任何答案都值得赞赏。
编辑 对话的 id 是未知的。我需要找出这两个 user_id 之间是否存在对话。
谢谢——埃米尔