Verschachtelte foreach-Schleife wiederholt Zeilen (Laravel 9)
<p>Ich arbeite derzeit an meinem ersten echten Projekt mit Laravel 9. Ich bin auf ein Problem gestoßen, das ich nicht lösen kann. Ich habe zwei Tabellen „Kategorie“ und „Artikel“, die mit den Feldern „id“ (Kategorietabelle) und „category_id“ (Artikeltabelle) verknüpft sind. </p>
<p>In meiner KategorieController: </p>
<pre class="brush:php;toolbar:false;">öffentliche Funktionskategorien(){
$categories = Category::all();
$articles = Article::all();
return view('category.categories')->with('cats',$categories)->with('arts',$articles);
}</pre>
<p>Meine Blade-Ansicht ist wie folgt eingerichtet:</p>
<pre class="brush:php;toolbar:false;"><ul>
@foreach($cats als $cat)
<li>{{ $cat->name}}
<ul>
@foreach($arts als $art)
@if($cat->id == $art->category_id)
<li>{{ $art->title }}</li>
@anders
<li>Keine Artikel</li>
@endif
@endforeach
</ul>
</li>
@endforeach</pre>
<p>Als ich eincheckte, bekam ich Folgendes</p>
<pre class="brush:php;toolbar:false;">Kategorie 1
Artikeltitel 1
Keine Artikel
Keine Artikel
Keine Artikel
Keine Artikel
Kategorie 2
Keine Artikel
Artikeltitel 2
Keine Artikel
Keine Artikel
Keine Artikel
Kategorie 3
Keine Artikel
Keine Artikel
Artikeltitel 3
Keine Artikel
Keine Artikel
Kategorie 4
Keine Artikel
Keine Artikel
Keine Artikel
Artikeltitel 4
Keine Artikel
Kategorie 5
Keine Artikel
Keine Artikel
Keine Artikel
Keine Artikel
Keine Artikel</pre>
<p>Wie behebe ich das Problem, sodass nur einmal „Keine Artikel unter Kategorie 5“ angezeigt wird</p>