这是我的表wys_attendence:
id studid adate amonth ayear acls_id attendence
1 28 02 07 2015 10 1
2 31 02 07 2015 10 0
4 32 02 07 2015 10 1
5 28 13 07 2015 10 0
6 31 13 07 2015 10 1
7 32 13 07 2015 10 1
9 28 14 07 2015 10 1
10 31 14 07 2015 10 1
11 32 14 07 2015 10 1
13 28 15 07 2015 10 1
14 31 15 07 2015 10 0
15 32 15 07 2015 10 1
17 28 16 07 2015 10 0
18 31 16 07 2015 10 1
19 32 16 07 2015 10 1
21 28 17 07 2015 10 1
22 31 17 07 2015 10 1
23 32 17 07 2015 10 0
24 28 20 08 2015 10 1
25 31 20 08 2015 10 1
26 32 20 08 2015 10 0
我想检查特定年份和月份的每一天是否在表格中,并显示所选月份和年份的所有日期。
如果我选择july 2015
。
我得到的输出不正确。这就是我得到的:
studid 02 02 02 13 13 13 14 14 14 15 15 15 16 16 16 17 17 17
但我想这样:
studid 2 13 14 15 16 17
我的控制器代码在这里
`$amonth = Input::get('amonth');
$ayear = Input::get('ayear');
$teacher_attend=WysTeacherattendance::all();
$attendance = DB::table('wys_teacherattendances')
->where('t_amonth', $amonth)
->where('t_ayear',$ayear)
->get();`
我的 view.blade.php 代码在这里
<th>studid</th>
@foreach($attendance as $attendances)
<th>{{$attendances->t_adate}}</th>
@endforeach
如何修改我的查询以实现上述结果,以及检查我选择的月份和年份的天数是否在数据库中,如果在数据库中,那么只显示一次。?
答案 0 :(得分:2)
如果您想按日期对记录进行分组,请按照http://laravel.com/docs/4.2/queries#selects
中的说明使用groupBy()$attendance = DB::table('wys_teacherattendances')
->where('t_amonth', $amonth)
->where('t_ayear',$ayear)
->groupBy('t_adate')
->get();