我有两个型号
Company
,has_many
客户和。{
Customer
,belongs_to
公司
我想检索一个关系,其中每一行看起来像:
[company.name, count(customers)]
其中最后一列是公司下的客户数量。
Company(id: integer, name: string)
Customer(id: integer, name: string, company_id: integer)
非常感谢,谢谢
答案 0 :(得分:0)
select company.id, company.name, count(*)
from company join customer on customer.company_id = company.id
group by compamy.id, company.name
答案 1 :(得分:0)
如果你发出这个:
Customer.count(group: company_id)
它应返回hash
company_id
作为键,并将客户计为值。
然后你可以试试这个:
Company.joins(:customers).select("name, count(*)").all