在我的Rails應用程序中,我想要連接一個表與另一個表的命名作用域。有沒有辦法做到這一點,而不必爲我的聯合聲明重寫純SQL中的命名範圍?在Rails中使用命名作用域作爲子查詢
基本上,有沒有辦法做這樣的事情?
class Foo < ActiveRecord::Base
scope :updated_today, where('updated_at > ?', DateTime.now.prev_day)
end
Bar.joins(Foo.updated_today)
凡Bar.joins生成以下SQL:
SELECT * FROM bars
INNER JOIN
(SELECT * FROM foos WHERE updated_at > 2012-8-9) AS t0
ON bar_id = bars.id
是的,我只是回答我自己的問題。如果有人有這樣做的更好的方式,但請隨時chime英寸 – Ajedi32 2012-08-09 17:50:26
完全可以接受回答你自己的問題,特別是當我們其他人似乎無法這樣做... :) – BaronVonBraun 2012-08-09 17:53:11