2015-05-14 3 views
0

У меня есть таблица посещаемости ученика с именем attendance_tbl и показана ниже.Как организовать ежемесячную посещаемость, прочитав из таблицы посещаемости с помощью построителя запросов в Laravel 4.2

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

Почему у вас есть дата магазина таким образом? У laravel есть более чистый и простой способ обработки даты с отметками времени. –

+0

будет ли это хорошо, если этот формат используется? 'Student_id \t Дата present_count \t absent_count \t \t \t \t \t 2' –

+0

Посетите этот http://dba.stackexchange.com/questions/45995/display-monthly-attendance-report-in-mysql –

ответ

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')') 

надеюсь, что это решит вашу проблему.

Смежные вопросы