は関係が、私は、ユーザーが所有者または受信者または送信者であるすべての会話を取得したい結合を使用したクエリは未完了の結果を生成しますか?ここで
class Conversation < ApplicationRecord
belongs_to :user
has_many :messages
class Message < ApplicationRecord
belongs_to :sender, class_name: 'User'
belongs_to :receiver, class_name: 'User'
belongs_to :conversation
どのように見えるか、私はそう
[79] pry(main)> Conversation.joins(:messages).where("messages.receiver_id = ? OR messages.sender_id = ? OR conversations.user_id = ?", 2, 2, 2).count
(0.5ms) SELECT COUNT(*) FROM "conversations" INNER JOIN "messages" ON "messages"."conversation_id" = "conversations"."id" WHERE (messages.receiver_id = 2 OR messages.sender_id = 2 OR conversations.user_id = 2)
=> 0
しかし0
ようにそれをやっていることは間違っているですが、私は持っていますuser_id: 2
[78] pry(main)> Conversation.where(user_id: 2).count
(0.4ms) SELECT COUNT(*) FROM "conversations" WHERE "conversations"."user_id" = $1 [["user_id", 2]]
=> 1
私のクエリでいただきました!間違って任意のアイデアとの会話?