Laravel Blade : Comment itérer la relation AppartientToMany d'un modèle dans une boucle de table ?
P粉106301763
P粉106301763 2024-03-31 22:30:44
0
2
420

Je souhaite boucler mes packages dans le tableau (chaque package a une relationappartenanceToMany avec le modèle de test) et je ne sais pas comment boucler dans ma lame ?

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

Voici mon formulaire complet (lame) :

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

Chacun <i class="fa-solid fa-check"> affiche une ligne du tableau croisé dynamique entre La conception est :

Comment parcourir les modèles relationnels dans mon blde ?

P粉106301763
P粉106301763

répondre à tous(2)
P粉768045522

Si vous avez effectivement envoyé la liste des modèles à la vue, vous pouvez utiliser la directive blade comme ceci (c'est juste un modèle fictif, je ne sais pas à quoi ressemble réellement votre modèle) :



    @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

@si la condition n'est que ma supposition. Entrez ce dont vous avez besoin pour déterminer si la vérification fa doit être effectuée.

Habituellement, l'envoi de données consiste à afficher les éléments suivants :

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

Ensuite, vous pouvez accéder à la variable $models dans la vue

P粉176203781

J'ai créé le tableau de cette façon en vérifiant la relation :



            @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}}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal