我有一张这样的表:
employee_id
task_hour
month
project_id
我想得到一个员工每个月工作的小时数。我尝试了以下方法:
$activity = $this->activity
->get(['employee_id','month','task_hour'])->sum('task_hour');
但我只得到一个号码。事实上,我希望看到每个员工,然后每个月,然后是任务小时的总和。
感谢。
答案 0 :(得分:1)
如果您想以正确的方式使用聚合查询,只需按以下方式添加组:
$activity = $this->activity
->select('employee_id', 'month', DB::raw('SUM(task_hour) as task_hour'))
->groupBy('employee_id', 'month')
->get();
每个月你都会得到一个包含任务小时数的集合。