[英]Grouping and counting records by their associated record in rails
class JobPosition < AR
belongs_to :recruiter, class_name: 'User'
end
class User < AR
# first_name, last_name
end
招聘人员(或更确切地说,用户)可以附加到许多职位上。 我想计算每个招聘人员分配给多少个申请。 这很容易通过
JobPosition.group(:recruiter_id).count
返回每个招聘者ID的计数。
{
1 => 3,
2 => 5
}
但是我不想要招聘人员的身份证,而是招聘人员的全名是这样的
{
"Peter Henry" => 3,
"Hugh Kavener" => 5
}
我在用户表上没有full_name列,但是有first_name和last_name。
如何使用PG和ActiveRecord实现此目的。 我不希望诉诸于操作内存中的活动记录对象。
您可以通过编写一些额外的SQL来做到这一点,我相信以下语法应适用于postgresql:
JobPosition.joins(:recruiters).group("user.first_name || ' ' || user.last_name").count
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.