我要表:同事和部门
一个员工属于一个部门(belongs_to),一个部门有多个员工(has_many)
我'试图做的是计算每个部门的员工数量并用数据制作饼图,我得到的图表使用一些基本的东西(Department.count)
我刚开始使用 Rails,但遇到查询问题
Associate.joins(:department).group(:name).count
我得到的是以下内容
Mysql2::Error: Column 'name' in field list is ambiguous: SELECT COUNT(*) AS count_all, name AS name FROM
associates
INNER JOINdepartments
ONdepartments
.id
=associates
.department_id
GROUP BY name
我试过选择、查找,但我似乎做对了
最佳答案
如果你的关联设置正确,我相信你应该能够做这样的事情:
Department.find(<some_id>).associates.count
或者,如果您拥有所有部门,并且正在遍历它们,比方说在一个 View 中并且您想要获得所有计数,您可以执行如下操作:
@departments = Deparment.all
@departments.each do |department|
department.associates.count
end
您的关联表需要一个 department_id
列。
关于mysql - Rails 从两个表中的关联加入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20621998/