【发布时间】:2018-12-13 23:11:01
【问题描述】:
我正在尝试按委托连接表进行分组。我有一个任务表,每个任务都有一个 project_id。以下代码在我的控制器中运行良好,我可以按项目分组:
@task = Task.joins(:project).joins(:urgency).where(urgencies: {urgency_value: 7}).group_by(&:project_id)
这将返回一个哈希值,其中键是我加入的内容,然后索引包含该组中的每个任务。然后我可以遍历每个任务以检索其属性。
但是,每个项目都属于一个工作区(通过 workspace_id)。我想要的是有相同的查询,但按工作区分组。我的最终目标是创建一个表格,在其中一列中显示工作区名称,在第二列中显示该工作区的任务数。
我尝试了很多组合,搜索了很多论坛,但几个小时后仍然无法破解。
【问题讨论】:
-
从您的问题中不清楚您提到的四个表(任务、项目、紧急情况、工作空间)之间的关系是什么。我认为一个任务属于一个项目,但除此之外我不得不猜测。请澄清什么属于_属于什么,什么有_很多。
-
对不起,关系是:Task belongs_to Project 和 Urgency,Project belongs_to Workspace。
标签: ruby-on-rails join group-by