ActiveRecord查询接口 - 与条件关联

时间:2012-07-16 19:07:31

标签: ruby-on-rails activerecord

我有一个Post模型has_many :comments。问题是:如何使用 ActiveRecord查询界面构建查询,以检索每个帖子的所有帖子和最后评论

我现在所拥有的只是以下内容,但它不会过滤评论,我不知道下一步该做什么:

Post.includes(:comments)

1 个答案:

答案 0 :(得分:2)

嗯,想到最简单的事情,创建一个范围可能不是最好的。

class Post < ActiveRecord::Base
    # has_many or maybe a has_one ? I don't have time to fire up console again to check, sorry!
    has_many :last_comment, :class_name => 'Comment', :limit => 1, :order => 'comments.created_at DESC'
end

然后使用

Post.includes(:last_comment)

确保SQL中有索引。