仅在刀片中显示具有特定条件的数据

时间:2019-02-28 09:31:53

标签: laravel laravel-5 laravel-5.5 laravel-5.6

我有一个问题,我不知道如何显示总和为'> 0'的主题,我设法显示了所有主题,但是它也显示了总和为'0'的主题。我不确定条件代码是放在视图中还是在控制器中。

这是我的控制器

public function showSubjectListFinalYear(){
     $t1  = DB::table('matrices')->where('total_subject_left','<',10)->sum('teknologi_dan_sistem_maklumat');
     $t2  = DB::table('matrices')->where('total_subject_left','<',10)->sum('struktur_diskrit');
     $t3  = DB::table('matrices')->where('total_subject_left','<',10)->sum('teknik_pengaturcaraan_1');
     $t4  = DB::table('matrices')->where('total_subject_left','<',10)->sum('logik_digital');

     return view('admin.final_year_subject_list')>with(compact('t1','t2','t3','t4'));
}

这是我认为的代码

<thead>
    <tr>
        <th>Subject name</th>
        <th>No. of students</th>
    </tr>
</thead>
<tbody>
    <tr class="gradeX">
        <td>Teknologi dan Sistem Maklumat</td>
        <td style="text-align:center">{{ $t1 }}</td>
    </tr>
    <tr class="gradeX">
        <td>Struktur diskrit</td>
        <td style="text-align:center">{{ $t2 }}</td>
    </tr>
    <tr class="gradeX">
        <td>Teknik Pengaturcaraan 1</td>
        <td style="text-align:center">{{ $t3 }}</td>
    </tr>
    <tr class="gradeX">
        <td>Logik Digital</td>
        <td style="text-align:center">{{ $t4 }}</td>
    </tr>

2 个答案:

答案 0 :(得分:0)

try this 
$t1  = matrices::where('total_subject_left','>',10)->orderBy('id', 'ASC')->sum('teknologi_dan_sistem_maklumat');

它将显示总和大于10的主题。如果将10替换为0,它将显示总和大于0的主题。 假设您使用

使用/应用/型号名称

答案 1 :(得分:0)

通过在view.blade文件中添加此代码来解决此问题

                    @if($t1>0)
                      <tr class="gradeX">
                         <td>Teknologi dan Sistem Maklumat</td>
                         <td style="text-align:center">{{ $t1 }}</td>
                      </tr>
                    @endif