Подтвердить что ты не робот

Объедините два результата запроса ActiveRecord

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

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.

Любые идеи?

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

4b9b3361

Ответ 1

Используйте relation & relation:

Model.joins("join relationships ON user_id = followed_id").where("follower_id = {user.id}") & Model.where(:user_id => user.id)

Ответ 2

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

Model.where(...) | Model.where(...)