2

私は Rails で次のモデルを持っています:ユーザーと *Friendship_Requests* friends_requests には、フィールド "from_user" と "to_user" にユーザー ID が含まれています。リクエスト モデル (メッセージ フィールドも含む) から特定のユーザーにリンクされたリクエストのリストを取得したいと考えています。また、Users モデルに保持されているリクエスト元のユーザー データを結果として返したいと考えています。

SQLでは、次を使用します。

SELECT users.*, friendships_requests.*
FROM friendships_requests
JOIN users ON friendships_requests.from_user = users.id

任意のアイデアをいただければ幸いです。

4

1 に答える 1

2

に送信されたフレンドシップ リクエストを見つけるには@user:

@friendship_requests = FriendshipRequests.find_by_to_user(@user.id)

次に、送信ユーザーに関連する情報を次のように取得できます。

@friendship_requests.each do |request|
  user = User.find_by_id request.from_user
  # Do something
end

または、それらすべてを収集したい場合

@users = @friendship_requests.map {|r| User.find_by_id r.from_user}
于 2012-04-24T16:51:26.950 に答える