我正在创建一个考勤报告模块。
我有两个表,一个是User
表,另一个是attendance_log
这是每个表的列
Users
表
---------------------------------
|user_id | first_name | lastname|
| 1 | jesse | leech |
| 2 | howard | jones |
attendance_log
表
---------------------------------
|log_id | user_id | status | created_at | updated_at |
| 1 | 1 | entrance | 2017-08-09 13:08:57 | 2017-08-09 13:08:57 |
| 2 | 1 | entrance | 2017-08-09 13:09:00 | 2017-08-09 13:09:00 |
| 3 | 1 | entrance | 2017-08-09 13:09:03 | 2017-08-09 13:09:03 |
| 4 | 2 | entrance | 2017-08-09 13:10:28 | 2017-08-09 13:10:28 |
| 5 | 2 | entrance | 2017-08-09 13:10:30 | 2017-08-09 13:10:30 |
| 6 | 2 | entrance | 2017-08-09 13:10:31 | 2017-08-09 13:10:31 |
| 7 | 1 | entrance | 2017-08-10 13:08:57 | 2017-08-10 13:08:57 |
| 8 | 1 | entrance | 2017-08-10 13:09:00 | 2017-08-10 13:09:00 |
| 9 | 1 | entrance | 2017-08-10 13:09:03 | 2017-08-10 13:09:03 |
| 10 | 2 | entrance | 2017-08-10 13:10:28 | 2017-08-10 13:10:28 |
| 11 | 2 | entrance | 2017-08-10 13:10:30 | 2017-08-10 13:10:30 |
| 12 | 2 | entrance | 2017-08-10 13:10:31 | 2017-08-10 13:10:31 |
正如您在attendance_log
表中看到的那样,我有多个created_at
值,因为我使用rfid点击为插入数据插入数据。
这是我的问题,当我按created_at
对其进行分组时,结果将是:
-----------------------------------------------
| first name | last name | date & time |
| jesse | leech | 2017-08-09 13:08:57 |
| jesse | leech | 2017-08-10 13:08:57 |
而不是:
-----------------------------------------------
| first name | last name | date & time |
| jesse | leech | 2017-08-09 13:08:57 |
| jesse | leech | 2017-08-10 13:08:57 |
| howard | jones | 2017-08-09 13:10:28 |
| howard | jones | 2017-08-10 13:10:28 |
我怎样才能实现这一目标?
这是我的代码
$students = User::has('userStudentAttendance')->with(['userStudentAttendance' => function($query) use ($details,$search_from, $search_to){
$query->where('status', $details);
$query->where(function($query) use ($search_from, $search_to){
$query->whereBetween(DB::raw('Date(created_at)'), [$search_from, $search_to]);
});
$query->groupby(DB::raw('Date(created_at)'));
}])
->leftjoin('sys_user_student', 'sys_user_student.user_id', '=', 'sys_user.user_id')
->leftjoin('sys_mf_section', 'sys_mf_section.section_id', '=', 'sys_user_student.section_id')
->leftjoin('sys_mf_grade', 'sys_mf_grade.grade_id', '=', 'sys_mf_section.grade_id')
->where('user_type_id', '4')
->where('sys_mf_section.section_id', $request->getParam('section_id'))
->where('sys_mf_grade.grade_id', $request->getParam('grade_id'))
->get();
希望有人能帮助我,并抱歉我的英语不好。谢谢你们!