You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Blade中对Eloquent get()返回的数组按索引拆分展示至不同表格

Blade实现方案

实现逻辑

你不需要通过遍历判断索引来处理,直接拆分数组即可:

  • 直接取下标为0的项单独渲染学生信息表格
  • 用array_slice(数组场景)或slice()(Laravel集合场景)截取从下标1开始的所有内容,遍历渲染科目成绩表格

完整代码示例

{{-- 第一个表格:展示索引0对应的学生基础信息 --}}
<div class="s-table-container">
    <table class="s-table">
        <thead>
            <tr>
                <th style="text-align: left;">学生信息项</th>
                <th style="text-align: right;">内容</th>
            </tr>
        </thead>
        <tbody>
            @isset($studentData[0])
                @php $info = $studentData[0]; @endphp
                <tr>
                    <td style="text-align: left;">姓名</td>
                    <td style="text-align: right;">{{ $info->name }} {{ $info->middlename }} {{ $info->lastname }}</td>
                </tr>
                <tr>
                    <td style="text-align: left;">学号</td>
                    <td style="text-align: right;">{{ $info->student_id }}</td>
                </tr>
                <tr>
                    <td style="text-align: left;">班级</td>
                    <td style="text-align: right;">{{ $info->grade_name }}</td>
                </tr>
                <tr>
                    <td style="text-align: left;">学生总平均分</td>
                    <td style="text-align: right;">{{ $info->student_average }}%</td>
                </tr>
                <tr>
                    <td style="text-align: left;">通过科目数</td>
                    <td style="text-align: right;">{{ $info->number_of_passed_subjects }}</td>
                </tr>
            @endisset
        </tbody>
    </table>
</div>

{{-- 第二个表格:展示索引1开始的所有科目成绩 --}}
<div class="s-table-container">
    <table class="s-table">
        <thead>
            <tr>
                <th style="text-align: left;">Subject Name</th>
                <th style="text-align: right;">Subject Average</th>
            </tr>
        </thead>
        <tbody>
            @foreach(array_slice($studentData, 1) as $subject)
                <tr>
                    <td style="text-align: left;">{{ $subject->subject_name }}</td>
                    <td style="text-align: right;">{{ $subject->student_average }}%</td>
                </tr>
            @endforeach
        </tbody>
    </table>
</div>

说明

  • 如果你的$studentData是Laravel集合类型,把array_slice($studentData, 1)替换为$studentData->slice(1)即可
  • 代码中加了@isset判断,避免数组为空时出现报错
  • 学生信息表格的字段可以根据你的实际需求调整增删

内容的提问来源于stack exchange,提问作者Lwati

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 21:24:03