我有一个Post
模型has_many :comments
。问题是:如何使用 ActiveRecord查询界面构建查询,以检索每个帖子的所有帖子和最后评论?
我现在所拥有的只是以下内容,但它不会过滤评论,我不知道下一步该做什么:
Post.includes(:comments)
答案 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中有索引。