2011-12-14 3 views
0

私は友達モデルを持っているに基づいて、レコードを照会します。Railsはどのように二つのフィールド

user1.id = 10 
user2.id = 9 

フレンドモデルは、私はどちらかの組み合わせのために、レコードが存在するかどうかを確認しますレールのクエリを書くことができますどのようにいずれかを持っている

10,9,x 
9,10,x 

だろうか?

SQLに変換
Friend.where(:user_id => [user.id, self.id], :friend_id => [user.id, self.id], :status => 'x') 

次のようになります:どのようにして感謝

答えて

1

「。* \ FROM "

"SELECT \" 友人\友人\" \ "友人\" \ IN(10,9)AND \ "friends \" friend_id \ "IN(10,9)AND \" friends \ "status \" = 'x'」

1つのクエリで両方のケースを返します。

[#<Friend id: 1, user_id: 10, friend_id: 9, status: 'x', created_at: "2011-06-25 15:09:00", updated_at: "2011-11-01 18:28:50">, #<Friend id: 2, user_id: 9, friend_id: 10, status: 'x', created_at: "2011-06-25 15:11:06", updated_at: "2011-11-01 18:28:50">] 
関連する問題