Rails通过关联进行分组和计数

rob*_*kos 3 activerecord ruby-on-rails ruby-on-rails-3

鉴于我有一个会员表:

id   membername
-------------------
1    Fred
2    Dave
3    Jenny
Run Code Online (Sandbox Code Playgroud)

和一个乔布斯表

id   member_id   status
1    1           Closed
2    2           Pending
3    2           Open
4    3           Pending
5    3           Pending
Run Code Online (Sandbox Code Playgroud)

我想按成员输出待处理作业的总数.

所以根据以上数据,我想:

membername  count
Dave        1
Jenny       2
Run Code Online (Sandbox Code Playgroud)

我可以使用组方法获取计数,例如

Job.where("status = ?", "Pending").group(:member_id).count
Run Code Online (Sandbox Code Playgroud)

但这不会返回名字.只是一个member_id的哈希和计数.我想我需要以某种方式将这个结果加入到成员表中.我当然可以用原始SQL做到这一点,但是想知道是否有一个更整洁的方法来获取这些数据.

Yur*_*hov 5

Job.where("status = ?", "Pending").joins(:member).group("member.name").count
Run Code Online (Sandbox Code Playgroud)