2012-04-24 4 views
2

У меня есть следующие модели в Rails: Пользователи и * Friendship_Requests * friendship_requests содержит идентификаторы пользователя в полях «from_user» и «to_user». Я хочу получить список запросов, связанных с конкретным пользователем, из модели запросов (которая также содержит поле сообщения). Я также хотел бы, чтобы результат возвращал запрашивающие данные пользователей, которые хранятся в модели «Пользователи».Rails объединяет два объекта в один результат hash

В SQL Я хотел бы использовать следующее:

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

Все идеи оценили, спасибо.

ответ

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} 
+0

Работал как очарование, спасибо! – conor

Смежные вопросы