One Post有很多评论。我想选择comments.count大于5的所有帖子。
像这样:Post.all.joins(:comments).having(“count> = 5”)
答案 0 :(得分:3)
如果您在帖子表中添加comments_count
列,请添加以下内容:
class Comment < ActiveRecord::Base
belongs_to :post, :counter_cache => true
..
end
然后当您保存帖子时,它会更新计数器。在这一点上,查询很简单:
Post.where("comments_count >= ?", 5).all
或者,您可以使用纯SQL代码。但是男人,只是去专柜
相关:Rails query that sorts based on the count of a nested model?