<p>私は現在、Laravel 9 を使用して最初の実際のプロジェクトに取り組んでいます。解決できない問題に遭遇しました。 「category」と「article」という 2 つのテーブルがあり、フィールド id (カテゴリー テーブル) と category_id (記事テーブル) で結合されています。 </p>
<p>CategoryController 内: </p>
<pre class="brush:php;toolbar:false;">パブリック関数カテゴリ(){
$categories = カテゴリ::すべて();
$articles = 記事::all();
return view('category.categories')->with('cats',$categories)->with('arts',$articles);
}</pre>
<p>私の Blade ビューは次のように設定されています:</p>
<pre class="brush:php;toolbar:false;"><ul>
@foreach($cat を $cat として)
<li>{{ $cat->名前}}
@foreach($arts として $art)
@if($cat->id == $art->category_id)
<li>{{ $art->title }}</li>
@それ以外
<li>記事はありません</li>
@endif
@endforeach
</ul>
</li>
@endforeach</pre>
<p>チェックインしたときにこれを受け取りました</p>
<pre class="brush:php;toolbar:false;">カテゴリ 1
記事タイトル1
記事がありません
記事がありません
記事がありません
記事がありません
カテゴリー2
記事がありません
記事タイトル2
記事がありません
記事がありません
記事がありません
カテゴリー3
記事がありません
記事がありません
記事タイトル3
記事がありません
記事がありません
カテゴリー4
記事がありません
記事がありません
記事がありません
記事タイトル4
記事がありません
カテゴリー5
記事がありません
記事がありません
記事がありません
記事がありません
記事はありません</pre>
<p>「カテゴリ 5 の記事はありません」が 1 回だけ表示されるようにこれを修正するにはどうすればよいですか?</p>
モデル内で関係が確立されていることを確認します。
カテゴリモデル内:
リーリー次に、CategoryController で次のようにします:
リーリーブレード部分についてはよくわかりませんが、できるはずです:
リーリー