ruby-on-rails - 查找所有评论超过规定数量的帖子

标签 ruby-on-rails activerecord

我有一个简单的 rails 3 博客应用程序,其中的帖子有很多评论,而评论属于一个帖子。

我想创建一个范围来获取所有评论超过 5 条的帖子。
没有计数器缓存列的最佳方法是什么。

最佳答案

像这样,也许?

Post.select('posts.*, count(comments.id) as comment_count').
  joins(:comments).
  group('posts.id').
  having('comment_count > 5')

关于ruby-on-rails - 查找所有评论超过规定数量的帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4314987/

相关文章:

ruby - OR 运算符和 Ruby where 子句

ruby-on-rails - Rails 5 ActiveRecord 可选包含嵌套关联属性的 where

ruby-on-rails - rails : Query all but first record?

ruby-on-rails - 使用 ruby​​ 衡量针对单个规范的代码覆盖率的最佳方法是什么?

ruby-on-rails - 用于查找邮政编码的 Ruby Geocoder gem

ruby-on-rails - 为什么where()。first_or_create仅在RSpec中生成不正确的SQL?

ruby-on-rails - 从对象验证消息中删除字段名称

ruby-on-rails - 无法使用 rspec stub 辅助方法

ruby-on-rails - SPARQL、RDF 和处理数据

ruby-on-rails - 单表继承 (STI) 和 has_and_belongs_to_many (HABTM) 关联的错误