在我的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