我有一个名为attendance_tbl
的学生出勤表,如下所示。
id attendance student_id date month year
----------------------------------------
1 1 1 15 10 2015
2 0 2 15 10 2015
3 1 3 15 10 2015
4 1 1 16 10 2015
5 0 2 16 10 2015
6 1 3 16 10 2015
7 1 1 18 10 2015
8 1 2 18 10 2015
9 1 3 18 10 2015
我想一起显示每个月的出席情况,如下所示。
student_id date1(eg:15) date2(eg:16) date3(eg:17)
--------------------------------------------------
1 1 1 1
2 0 0 1
3 1 1 1
如何使用Laravel 4.2中的查询构建器来实现这一目标?任何人都可以帮忙??
答案 0 :(得分:0)
以这种格式排列您的表格。
id attendance student_id date
----------------------------------------
1 1 1 2015-10-15 00:00:00
2 0 2 2015-10-15 00:00:00
3 1 3 2015-10-15 00:00:00
4 1 1 2015-10-16 00:00:00
5 0 2 2015-10-16 00:00:00
6 1 3 2015-10-16 00:00:00
7 1 1 2015-10-17 00:00:00
8 1 2 2015-10-17 00:00:00
9 1 3 2015-10-17 00:00:00
使用Mysql函数来检索日期/月/年 现在,您可以按照以下格式在laravel查询构建器中按月/日/年进行分组
->groupBy('DB::raw('month/day/year')','DB::raw('student_id')')
希望这能解决您的问题。