如何使用laravel在视图页面中显示一次数据库值

时间:2015-08-07 06:03:26

标签: laravel-4

这是我的表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

如何修改我的查询以实现上述结果,以及检查我选择的月份和年份的天数是否在数据库中,如果在数据库中,那么只显示一次。?

1 个答案:

答案 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();