巢狀 foreach 迴圈重複行 (Laravel 9)
P粉268654873
2023-08-31 18:57:33
<p>我目前正在使用 Laravel 9 進行我的第一個實際專案。我遇到了一個無法解決的問題。我有兩個表格“類別”和“文章”,它們與字段 id(類別表)和category_id(文章表)連接。 </p>
<p>在我的 CategoryController 中:</p>
<pre class="brush:php;toolbar:false;">public function categories(){
$categories = Category::all();
$articles = Article::all();
return view('category.categories')->with('cats',$categories)->with('arts',$articles);
}</pre>
<p>我的 Blade 視圖設定如下:</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->title }}</li>
@else
<li>No articles</li>
@endif
@endforeach
</ul>
</li>
@endforeach</pre>
<p>當我簽入時,我得到了這個</p>
<pre class="brush:php;toolbar:false;">Category 1
Article title 1
No articles
No articles
No articles
No articles
Category 2
No articles
Article title 2
No articles
No articles
No articles
Category 3
No articles
No articles
Article title 3
No articles
No articles
Category 4
No articles
No articles
No articles
Article title 4
No articles
Category 5
No articles
No articles
No articles
No articles
No articles</pre>
<p>我該如何解決這個問題,這樣它只顯示一次「類別 5 下沒有文章」</p>
我會確保您的模型中的關係已建立。
在您的類別模型中:
然後,在您的 CategoryController 中:
我對刀片部分不太確定,但你應該可以做到: