首頁  >  問答  >  主體

Laravel Blade:如何在表循環中迭代模型的belongsToMany關係?

我想在表中循環我的包(每個包與測試模型都有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粉106301763P粉106301763175 天前309

全部回覆(2)我來回復

  • P粉768045522

    P粉7680455222024-04-01 20:50:27

    如果您實際上已將模型清單傳送到視圖,則可以使用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

    回覆
    0
  • P粉176203781

    P粉1762037812024-04-01 12:21:53

    我透過檢查關係以這種方式建立表格:

    
                @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}}

    回覆
    0
  • 取消回覆