【问题标题】:Displaying aggregate in blade Laravel 5.3在刀片 Laravel 5.3 中显示聚合
【发布时间】:2023-12-24 15:19:01
【问题描述】:

我在数据库中有下表

我有以下查询

      $users = DB::table('results')
            ->select('student_id', DB::raw('SUM(obtained_marks) as total_marks'))
            ->groupBy('student_id')
            ->get();

此查询的输出如下,这是根据我的需要,但我在刀片中显示数据时遇到困难

在我看来,当我使用 foreach 循环显示总和结果时,它被打印在一个数组中。下面给出了for循环

     @foreach($users as $names)
     <td>{{$names->studnent_id}}</td>
     <td>{{$names->total_marks}}</td>
     @endforeach

当我这样做时,以下视图出现

期望的输出

student_id -------------------获得标记

1-------------------30

2 ------------------70

3-----------------------------------------60

【问题讨论】:

    标签: php mysql laravel blade


    【解决方案1】:

    你错过了那里的行。

    @foreach($users as $names)
        <tr>
            <td>{{$names->student_id}}</td>
            <td>{{$names->total_marks}}</td>
        </tr>
    @endforeach
    

    【讨论】:

    • 看起来不错,我正在尝试
    • @user7597883 解决您的问题?
    【解决方案2】:

    在处理表格时,请始终记住 td 位于 tr 标记下。所以你修改后的代码如下:

    @foreach($users as $names)
        <tr>
            <td>{{$names->student_id}}</td>
            <td>{{$names->total_marks}}</td>
        </tr>
    @endforeach
    

    每次迭代都会创建一个新的tr,其下有td's

    【讨论】:

      【解决方案3】:

      我看到了你的问题。
      你没有正确拼写你的钥匙。 在你的 foreach 循环中。将 studnet_id 更改为 student_id 将来,在您的开发环境中工作时打开错误报告和通知。这会有所帮助。

      【讨论】: