0

我正在使用 Rails 3.2.8 构建一个 webapp。在这个应用程序中,我得到了三个表。项目、任务和子任务。

项目

id, name

任务

id, name, project_id

子任务

id, name, desc, task_id, value

我想获取属于一个项目的所有子任务并总结这些值并按 created_at 对它们进行分组。

这就是我尝试的方法,但它不起作用(只能恢复 AR 关系)。

@tasks = @project.tasks.joins(:subtasks).select('sum(subtasks.value)').group('subtasks.created_at')

我究竟做错了什么?

感谢所有帮助!

4

1 回答 1

1

我认为你比你意识到的更接近。

您提供的链中的每个方法都会导致ActiveRecord::Relation. 您需要做的就是调用alleach或其他一些方法来强制它执行查询。

我想你也想分组tasks.created_at

最后,我建议您在Task模型中创建一个类方法来简化这一点。

我希望这会有所帮助。

于 2013-02-03T19:10:25.243 回答