我有一个Post
模型has_many :comments
。问题是:如何使用ActiveRecord 查询接口构建查询,以检索所有帖子和每个帖子的最后评论?
我现在只有以下内容,但它不会过滤评论,我不知道下一步该做什么:
Post.includes(:comments)
我有一个Post
模型has_many :comments
。问题是:如何使用ActiveRecord 查询接口构建查询,以检索所有帖子和每个帖子的最后评论?
我现在只有以下内容,但它不会过滤评论,我不知道下一步该做什么:
Post.includes(:comments)
好吧,最简单的事情浮现在脑海中,这可能不是最好的,那就是创建一个范围。
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 中有索引。