【发布时间】:2011-02-28 23:11:58
【问题描述】:
我有一个小时表,用于存储用户时间跟踪信息, 该表格由以下单元格组成
project_id
task_id (optional can be null)
worker_id
reported_date
working_hours
每个工作人员每天输入几条记录,因此表格通常如下所示
id project_id worker_id task_id reported_date working hours;
== =========== ========= ========= ============= ==============
1 1 1 1 10/10/2011 4
2 1 1 1 10/10/2011 14
3 1 1 10/10/2011 4
4 1 1 10/10/2011 14
task_id 不是必填字段,因此有时用户不会选择它
他们的 task_id 单元格是空的
现在我需要使用 group by 子句来显示数据
所以结果会是这样的:
project_id worker_id task_id working hours
========== ========= ========= ==============
1 1 1 18
1 1 18
我按条件做了以下分组:
@group_hours = Hour.group('project_id,worker_id,task_id)').
select('project_id, task_id ,worker_id,sum(working_hours) as
working_hours_sum')
我的视图是这样的
<% @group_hours.each do |b| %>
<tr>
<td><%= b.project.name if b.project %></td>
<td><%= b.worker.First_name if b.worker %></td>
<td><%= b.task.name if b.task %></td>
<td class="center"><%= b.working_hours_sum %></td>
<td></td>
</tr>
<% end %>
这是有效的但只有当 task_id 不为 null 时,当任务 id 为 null 时,它会显示所有记录而不像这样对它们进行分组
project_id worker_id task_id working hours
=========== ========= ========= ==============
1 1 1 18
1 1 4
1 1 14
我会很感激这个问题的任何解决方案
【问题讨论】:
-
老兄,什么样的格式(?)是那?!
-
只是带有许多 的纯文本
-
大声笑,我知道。看看我做了多少清洁? (从您的原稿中删除了 3000 多个字符!)
标签: ruby-on-rails ruby activerecord