我有2个模型:用户和活动
我想要计算所有超过5项活动的非管理员用户。我可以得到非管理员用户,但我需要在计算记录之前进行一些计算/评估
这是我到目前为止所拥有的。
a=User.where(:admin => false)
a.joins(:activities).size
但是我只想要有超过5项活动的用户。我如何用Ruby完成这样的事情?感谢
我的用户模型就像这样
has_many :activities, :through => :projects
当我期望单个结果时,即使最后使用.size,也会返回一个数组。请指教。
//对Mods - 我正在编辑问题第三次为什么更新一直被删除?为什么我也不发表评论? //
答案 0 :(得分:1)
用户模型:
class User < ActiveRecord::Base
has_many :activities
end
获取超过5项活动的所有非管理员用户的列表:
users = User.where(:admin => false).joins(:activities).group('"activities"."user_id"').having('COUNT(activities.id) > 5')
如果您将.size
添加到最后,您将获得每个用户的计数器哈希值。