Laravel Blade:如何在表循环中迭代模型的belongsToMany关系?
P粉106301763
P粉106301763 2024-03-31 22:30:44
0
2
386

我想在表中循环我的包(每个包与测试模型都有belongsToMany关系)&我不知道如何在我的刀片中循环?

public function tests()
{
 return $this->belongsToMany('App\Models\Test');
}

这是我的完整表格(刀片):

<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"> 显示之间的数据透视表的一行 设计是:

如何在我的 blde 中循环使用关系模型?

P粉106301763
P粉106301763

全部回复(2)
P粉768045522

如果您实际上已将模型列表发送到视图,则可以使用 blade像这样的指令(这只是一个模拟模型,我不知道你的模型实际上是什么样子):



    @foreach($models as $model)
        
    @endforeach
    
Child Women Men Athletes VIP
{{ $model->title }} @if ($model->is_child) @endif @if ($model->is_women) @endif @if ($model->is_men) @endif @if ($model->is_athletes) @endif @if ($model->is_vip) @endif

@if 条件只是我的猜测。输入您需要的任何内容来确定是否应该渲染 fa 检查。

通常发送数据是为了查看如下内容:

$data['models'] = MyModel::all();
return view('myView', $data);

然后您可以在视图中访问变量 $models

P粉176203781

我通过检查关系以这种方式创建表:



            @foreach ($data['packages'] as $item)
                
            @endforeach
        
        @foreach ($data['tests'] as $item)
            
                @foreach ($data['packages'] as $pack)
                    @if($item->packages->contains($pack->id))
                        
                    @else
                        
                    @endif
                    
                @endforeach
            
        @endforeach
    
{{$item->title}}
{{$item->title}}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板