【发布时间】:2021-04-07 23:32:43
【问题描述】:
我正在尝试获取所有插槽,然后按房间对它们进行分组。在我看来,我想拥有一排房间:
<tr>
<td>Room ID 1</td>
<td>Slot ID 1</td>
<td>Slot ID 2</td>
<td>Slot ID 3</td>
.................
</tr>
<tr>
<td>Room ID 2</td>
<td>Slot ID 1</td>
<td>Slot ID 2</td>
<td>Slot ID 3</td>
.................
</tr>
我相信我很接近,但不确定“Laravel 方式”。数据看起来不错 - 查询正在正确获取/分组,我认为我的困难在于理解如何循环遍历集合。
MyController.php
public function routineViewDayWise()
{
$sunday_routines = Routine::where('day_id', 1)->orderBy('room_id')->get()->groupBy('room_id');
return view('day_wise_routine', compact('sunday_routines'));
}
在我看来,我得到了这个:
MyView.blade.php
#items: array:4 [▼
2 => Illuminate\Database\Eloquent\Collection {#1323 ▼
#items: array:2 [▼
0 => App\Models\Routine {#1339 ▶}
1 => App\Models\Routine {#1340 ▶}
]
}
4 => Illuminate\Database\Eloquent\Collection {#1322 ▶}
6 => Illuminate\Database\Eloquent\Collection {#1336 ▶}
8 => Illuminate\Database\Eloquent\Collection {#1335 ▶}]
解决方案
这是获得我想要的输出的视图。
MyView.blade.php
@foreach($sunday_routines as $room_id => $routines)
<tr>
<td>{{ $room_id }}</td>
@foreach($routines as $routine)
<td>{{ $routine->slot_id }}</td>
@endforeach
</tr>@endforeach
【问题讨论】:
标签: laravel laravel-blade laravel-8