Мне интересно, есть ли лучший способ сделать это:
У меня есть 2 сложных отношения с несколькими объединениями, соединяющимися с таблицей D. Я хочу объединить / объединить их, чтобы получить записи таблицы D.Следующее работает, но есть ли лучший способ?
class TableD < ActiveRecord::Base
def self.relation_three
r1 = TableA.relation_one.select("d.id")
r2 = TableB.relation_two.select("d.id")
where("d.id IN (#{r1.to_sql}) OR d.id IN (#{r2.to_sql})")
end
И если это невозможно, у меня возникает дополнительный вопрос:
Можно ли вернуть класс результата активной записи, отличный отзапись на основе запроса?т.е.:
TableA.all.joins(:b).select("b.*") # Coerce into TableB class ?
Спасибо!