Объединить два результата ActiveRecord Query - PullRequest
22 голосов
/ 29 августа 2010

В настоящее время у меня есть два активных запроса записей, которые я хотел бы объединить вместе

joins("join relationships ON user_id = followed_id").
              where("follower_id = #{user.id}")

и

where(:user_id => user.id)

В основном я хочу, чтобы результаты второго запроса отображались вместе с первымпохож на UNION оператор в SQL.Можно ли это сделать в ActiveRecord таким образом?

Я бы предпочел использовать объединение, а не объединять все followed_id в строке и использовать предложение IN в sql.

Есть идеи?

----- Редактировать ------ Я ищу способ заставить это работать с отложенной загрузкой

Ответы [ 2 ]

30 голосов
/ 30 января 2014

Это было полезно для меня:

Model.where(...) | Model.where(...)
12 голосов
/ 29 августа 2010

Использование relation & relation:

Model.joins("join relationships ON user_id = followed_id").where("follower_id = {user.id}") & Model.where(:user_id => user.id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...