gpt4 book ai didi

mysql - Rails 从两个表中的关联加入

转载 作者:太空宇宙 更新时间:2023-11-03 16:51:26 25 4
gpt4 key购买 nike

我要表:同事和部门

一个员工属于一个部门(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 JOIN departments ON departments.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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com