Wil*_*nes 6 activerecord ruby-on-rails include findall conditional-statements
想象一下,我有维基文章,有许多修订版.我想通过数据库使用ActiveRecord进行查询,该数据库仅返回那些具有过去24小时内更新的修订的文章.这样的事情可能吗?
我想它会是这样的:
Articles.find_all(:include => :revisions,
:conditions => {:revision[updated_at] => 1.week.ago..Time.now.utc})
Run Code Online (Sandbox Code Playgroud)
如果这是不可能的,是否有某种类型的原始SQL我可以传递给find_by_SQL这样做?
如果您只需要文章而不需要立即加载所有修订版,则可以使用 :joins 代替。它使用较少的内存,因为它不会预加载每篇文章的所有修订。如果你要做类似的事情,请使用 :include article.revisions。
Article.find(:all,
:joins => :revisions,
:conditions => ["revisions.updated_at > ?", 24.hours.ago]
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4970 次 |
| 最近记录: |