Gelung foreach bersarang mengulangi baris (Laravel 9)
<p>Saya sedang mengusahakan projek sebenar pertama saya menggunakan Laravel 9. Saya telah menghadapi masalah yang tidak dapat saya selesaikan. Saya mempunyai dua jadual "kategori" dan "artikel" yang digabungkan dengan medan id (jadual kategori) dan category_id (jadual artikel). </p>
<p>Dalam Pengawal Kategori saya: </p>
<pre class="brush:php;toolbar:false;">kategori fungsi awam(){
$categories = Kategori::semua();
$articles = Artikel::semua();
return view('category.categories')->with('cats',$categories)->with('arts',$articles);
}</pre>
<p>Paparan Blade Saya disediakan seperti ini:</p>
<pre class="brush:php;toolbar:false;"><ul>
@foreach($cats as $cat)
<li>{{ $cat->name}}
<ul>
@foreach($arts as $art)
@if($cat->id == $art->category_id)
<li>{{ $art->tajuk }}</li>
@lain
<li>Tiada artikel</li>
@endif
@endforeach
</ul>
</li>
@endforeach</pre>
<p>Apabila saya mendaftar masuk, saya mendapat ini</p>
<pre class="brush:php;toolbar:false;">Kategori 1
Tajuk artikel 1
Tiada artikel
Tiada artikel
Tiada artikel
Tiada artikel
Kategori 2
Tiada artikel
Tajuk artikel 2
Tiada artikel
Tiada artikel
Tiada artikel
Kategori 3
Tiada artikel
Tiada artikel
Tajuk artikel 3
Tiada artikel
Tiada artikel
Kategori 4
Tiada artikel
Tiada artikel
Tiada artikel
Tajuk artikel 4
Tiada artikel
Kategori 5
Tiada artikel
Tiada artikel
Tiada artikel
Tiada artikel
Tiada artikel</pra>
<p>Bagaimanakah saya hendak membetulkannya supaya ia hanya memaparkan "Tiada artikel di bawah kategori 5" sekali?</p>