如何在 table 中使用 belongsToMany 关系循环模型? Laravel Blade
How to loop a model with it's belongsToMany relation in a table? Laravel Blade
我想在 table 中循环我的包(每个包与测试模型都有 belongsToMany 关系)& 我不知道如何在我的 blade 中循环?
public function tests()
{
return $this->belongsToMany('App\Models\Test');
}
这是我的完整 table (blade):
<table>
<thead>
<tr>
<th></th>
<th><span>Child</span></th>
<th>Women</th>
<th>Men</th>
<th>Athletes</th>
<th>VIP</th>
</tr>
</thead>
<tbody>
<tr>
<td class="title"><b>TestOne</b></td>
<td><i class="fa-solid fa-check"></i></td>
<td><i class="fa-solid fa-check"></i></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td class="title"><b>TestTwo</b></td>
<td></td>
<td></td>
<td><i class="fa-solid fa-check"></i></td>
<td></td>
<td><i class="fa-solid fa-check"></i></td>
</tr>
<tr>
<td class="title"><b>TestThree</b></td>
<td></td>
<td><i class="fa-solid fa-check"></i></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td class="title"><b>TestFour</b></td>
<td><i class="fa-solid fa-check"></i></td>
<td><i class="fa-solid fa-check"></i></td>
<td></td>
<td><i class="fa-solid fa-check"></i></td>
<td></td>
</tr>
<tr>
<td class="title"><b>TestFive</b></td>
<td><i class="fa-solid fa-check"></i></td>
<td><i class="fa-solid fa-check"></i></td>
<td><i class="fa-solid fa-check"></i></td>
<td><i class="fa-solid fa-check"></i></td>
<td></td>
<td></td>
</tr>
<tr>
<td class="title"><b>TestSix</b></td>
<td></td>
<td><i class="fa-solid fa-check"></i></td>
<td><i class="fa-solid fa-check"></i></td>
<td><i class="fa-solid fa-check"></i></td>
<td><i class="fa-solid fa-check"></i></td>
</tr>
</tbody>
</table>
每个 <i class="fa-solid fa-check">
显示枢轴 table 之间的一行
设计是:
如何在我的 blde 中使用关系循环这个模型?
如果你真的把你的模型列表发送到视图,你可以像这样使用blade directives(这只是一个模拟模型,我不知道你的模型实际是什么样子):
<table>
<thead>
<tr>
<th></th>
<th><span>Child</span></th>
<th>Women</th>
<th>Men</th>
<th>Athletes</th>
<th>VIP</th>
</tr>
</thead>
<tbody>
@foreach($models as $model)
<tr>
<td class="title">
<b>
{{ $model->title }}
</b>
</td>
<td>
@if ($model->is_child)
<i class="fa-solid fa-check"></i>
@endif
</td>
<td>
@if ($model->is_women)
<i class="fa-solid fa-check"></i>
@endif
</td>
<td>
@if ($model->is_men)
<i class="fa-solid fa-check"></i>
@endif</td>
<td>
@if ($model->is_athletes)
<i class="fa-solid fa-check"></i>
@endif
</td>
<td>
@if ($model->is_vip)
<i class="fa-solid fa-check"></i>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
@if 条件只是我的猜测。把你需要的任何东西弄清楚 fa-check 是否应该被渲染。
通常发送数据是为了查看这样的内容:
$data['models'] = MyModel::all();
return view('myView', $data);
然后您可以在您的视图中访问变量 $models
我通过检查关系以这种方式创建我的table:
<table>
<thead>
<tr>
<th class="tr" width="150"></th>
@foreach ($data['packages'] as $item)
<th>{{$item->title}}</th>
@endforeach
</tr>
</thead>
<tbody>
@foreach ($data['tests'] as $item)
<tr>
<td class="title"><b>{{$item->title}}</b></td>
@foreach ($data['packages'] as $pack)
@if($item->packages->contains($pack->id))
<td><i class="fa-solid fa-check"></i></td>
@else
<td></td>
@endif
@endforeach
</tr>
@endforeach
</tbody>
</table>
我想在 table 中循环我的包(每个包与测试模型都有 belongsToMany 关系)& 我不知道如何在我的 blade 中循环?
public function tests()
{
return $this->belongsToMany('App\Models\Test');
}
这是我的完整 table (blade):
<table>
<thead>
<tr>
<th></th>
<th><span>Child</span></th>
<th>Women</th>
<th>Men</th>
<th>Athletes</th>
<th>VIP</th>
</tr>
</thead>
<tbody>
<tr>
<td class="title"><b>TestOne</b></td>
<td><i class="fa-solid fa-check"></i></td>
<td><i class="fa-solid fa-check"></i></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td class="title"><b>TestTwo</b></td>
<td></td>
<td></td>
<td><i class="fa-solid fa-check"></i></td>
<td></td>
<td><i class="fa-solid fa-check"></i></td>
</tr>
<tr>
<td class="title"><b>TestThree</b></td>
<td></td>
<td><i class="fa-solid fa-check"></i></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td class="title"><b>TestFour</b></td>
<td><i class="fa-solid fa-check"></i></td>
<td><i class="fa-solid fa-check"></i></td>
<td></td>
<td><i class="fa-solid fa-check"></i></td>
<td></td>
</tr>
<tr>
<td class="title"><b>TestFive</b></td>
<td><i class="fa-solid fa-check"></i></td>
<td><i class="fa-solid fa-check"></i></td>
<td><i class="fa-solid fa-check"></i></td>
<td><i class="fa-solid fa-check"></i></td>
<td></td>
<td></td>
</tr>
<tr>
<td class="title"><b>TestSix</b></td>
<td></td>
<td><i class="fa-solid fa-check"></i></td>
<td><i class="fa-solid fa-check"></i></td>
<td><i class="fa-solid fa-check"></i></td>
<td><i class="fa-solid fa-check"></i></td>
</tr>
</tbody>
</table>
每个 <i class="fa-solid fa-check">
显示枢轴 table 之间的一行
设计是:
如何在我的 blde 中使用关系循环这个模型?
如果你真的把你的模型列表发送到视图,你可以像这样使用blade directives(这只是一个模拟模型,我不知道你的模型实际是什么样子):
<table>
<thead>
<tr>
<th></th>
<th><span>Child</span></th>
<th>Women</th>
<th>Men</th>
<th>Athletes</th>
<th>VIP</th>
</tr>
</thead>
<tbody>
@foreach($models as $model)
<tr>
<td class="title">
<b>
{{ $model->title }}
</b>
</td>
<td>
@if ($model->is_child)
<i class="fa-solid fa-check"></i>
@endif
</td>
<td>
@if ($model->is_women)
<i class="fa-solid fa-check"></i>
@endif
</td>
<td>
@if ($model->is_men)
<i class="fa-solid fa-check"></i>
@endif</td>
<td>
@if ($model->is_athletes)
<i class="fa-solid fa-check"></i>
@endif
</td>
<td>
@if ($model->is_vip)
<i class="fa-solid fa-check"></i>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
@if 条件只是我的猜测。把你需要的任何东西弄清楚 fa-check 是否应该被渲染。
通常发送数据是为了查看这样的内容:
$data['models'] = MyModel::all();
return view('myView', $data);
然后您可以在您的视图中访问变量 $models
我通过检查关系以这种方式创建我的table:
<table>
<thead>
<tr>
<th class="tr" width="150"></th>
@foreach ($data['packages'] as $item)
<th>{{$item->title}}</th>
@endforeach
</tr>
</thead>
<tbody>
@foreach ($data['tests'] as $item)
<tr>
<td class="title"><b>{{$item->title}}</b></td>
@foreach ($data['packages'] as $pack)
@if($item->packages->contains($pack->id))
<td><i class="fa-solid fa-check"></i></td>
@else
<td></td>
@endif
@endforeach
</tr>
@endforeach
</tbody>
</table>