需要SQL/ActiveRecord查询的一点帮助。比方说,我有这样的:正确的ActiveRecord连接查询帮助
Article < ActiveRecord::Base
has_many :comments
end
Comment < ActiveRecord::Base
belongs_to :article
end
现在我想显示“最近讨论”文章的列表 - 这意味着我要拉的所有文章,包括加入到他们每个人的最后意见。然后我想通过评论的created_at属性对文章列表进行排序。
我看过Railscast的include/joins - 非常好,但还是有点难住。
我想,我想用一个named_scope,东西这样的效果:
Article < ActiveRecord::Base
has_many :comments
named_scope :recently_commented, :include => :comments, :conditions => { some_way_to_limit_just_last_comment_added }, :order => "comments.created_at DESC"
end
使用MySQL,Rails的2.3.4,红宝石1.8.7
有什么建议? :)
对不起,我应该在这里更加明确 - 就是我要找的是不是以显示与最近的评论文章。我期待显示在其最新或最新评论日期之前订购的所有文章的列表。也许这可以在远处编辑来满足这个?感谢您的时间和帮助! – Betsy 2010-03-06 00:39:34
可能是这样的: named_scope:recent_commented,,:include => {:comments,{:order =>“comments.created_at DESC”,:limit => 1}},:order =>“comments。 created_at DESC“ 这显然不起作用 - 尤其是因为我仍然试图理解正确的嵌套。 – Betsy 2010-03-06 00:42:42
这是我的部分。范围'Article.recently_commented'返回最近评论的文章。 – 2010-03-06 00:48:55