繁体   English   中英

通过Rails中的关联记录对记录进行分组和计数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM