ruby-on-rails - ActiveRecord,其中至少存在 x 条关联记录

标签 ruby-on-rails ruby-on-rails-3 activerecord

假设用户有评论,我希望所有用户都有 3 条或更多评论。

User.joins(:comments) 将为我提供任何具有 一条或多条评论。让用户获得至少三个评论的最好方法是什么?

最佳答案

更好的方法可能是使用 API 编写子查询:

subquery = Comment.select("user_id").
                   group(:user_id).
                   having("COUNT(*) >= 3").to_sql
User.where("id IN (#{subquery})")

关于ruby-on-rails - ActiveRecord,其中至少存在 x 条关联记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17347686/

相关文章:

ruby-on-rails - 为数组中对象的索引生成哈希查找表

ajax - Devise + Rails 3.0.4 在 AJAX 请求后结束 session

mysql - 按定制选择 rails 订购

ruby-on-rails - rails 范围内的时区独立到期日比较

ruby-on-rails - 形式验证?

ruby-on-rails - 未初始化的常量 ThinkingSphinx::Deltas::DelayedDelta

html - 将 HTML 转换为 markdown

ruby-on-rails - 我想我在胡闹……Rails 参数

ruby - 如何使用 Rails 生成 Excel 文件?

ruby-on-rails - ActiveRecord::未知属性错误