如何解决在 Laravel 视图中分块数据和显示标题
我有数据需要在 Laravel 刀片视图中显示为 3 行并带有标题。我知道 Laravel 中有块方法可以将数据分块并显示。但我想以不同的方式显示数据。
这是我的数据
Illuminate\Support\Collection {#1898 ▼
#items: array:2 [▼
0 => {#1021 ▼
+"parameter": "NH3 examine"
+"id": 6
+"pond_quality_id": 5
+"parameter_id": 28
+"pond_water_cig": 12
+"pond_water_non_cig": 12
+"taken_actions_cig": 12
+"taken_actions_non_cig": 12
+"taken_actions": "action"
+"measure_before_intervention": "before"
+"measure_after_intervention": "after"
+"remarks": "remarks1"
+"created_at": "2021-04-25 10:16:00"
+"updated_at": "2021-04-25 10:16:00"
}
1 => {#1897 ▼
+"parameter": "O2 examine"
+"id": 7
+"pond_quality_id": 5
+"parameter_id": 29
+"pond_water_cig": 23
+"pond_water_non_cig": 23
+"taken_actions_cig": 23
+"taken_actions_non_cig": 23
+"taken_actions": "action taken"
+"measure_before_intervention": "before intervention"
+"measure_after_intervention": "after intervention"
+"remarks": "remarks2"
+"created_at": "2021-04-25 10:16:00"
+"updated_at": "2021-04-25 10:16:00"
}
]
}
这是我想要输出数据的方式
col1 | col2 | col3 | col4 |
---|---|---|---|
col1 val1 | col2 val1 | col3 val3 | col4 val4 |
col1 val2 | col2 val2 | col3 val3 | col4 val4 |
col5 | col6 | col7 | col8 |
---|---|---|---|
col5 val1 | col6 val1 | col7 val3 | col8 val4 |
col5 val2 | col6 val2 | col7 val3 | col8 val4 |
col9 |
---|
col9 val1 |
col9 val2 |
我怎样才能做到这一点?
解决方法
您在 Blade 中使用的每个 $loop
循环都有 @foreach
的范围,这也随着循环内的循环而扩展
这里有一个示例,说明如何实现您想要的;每 3 行,添加一个您选择的标题。您可能需要在那里处理模数 - 我确定 3 是正确的,但考虑到 $loop->iteration
从 1 开始,而不是 0,我可能是错的。
请参阅:https://laravel.com/docs/8.x/blade 以了解在 $loop variable
上下文中 @foreach
的更多用法
@foreach($items as $item)
@if($loop->iteration % 3 == 0)
//output header row
@endif
//output $item
@endforeach
您需要为自己的标题行定义一组规则,考虑到您有 3 个相同的表,但您的第四个似乎有 1 个标题并且是唯一的,您可能想要创建一个辅助函数,允许您包含一个视图依赖于在您的刀片中使用多个 @if
语句的迭代。
实现预期结果的更好方法是块函数。简单干净。
@foreach($items->chunk(2) as $chunk)
<div class="s-table-container">
<table class="s-table">
<thead>
<tr>
<th>Id</th>
<th>parameter</th>
<th>pond_quality_id</th>
<th>pond_water_cig</th>
</tr>
</thead>
<tbody>
@foreach($chunk as $item)
<tr>
<td>{{$item->id}}</td>
<td>{{$item->parameter}}</td>
<td>{{$item->pond_quality_id}}</td>
<td>{{$item->pond_water_cig}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@endforeach
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。