1
ネストされたツリービューカテゴリとサブカテゴリを作成しましたが、カテゴリを2回レンダリングしているようです。ツリービューメニューはLaravelで2回のレンダリングを行います
これは何が起こっているのか、ページに表示されています。ここで何が起こっている
Main category 1
- Sub -category 1.1
- Sub -category 1.2
Main category 2
- Sub -category 2.1
- Sub -category 2.2
Sub -category 1.1
Sub -category 1.2
Sub -category 2.1
Sub -category 2.2
は、最初は正しいツリービューをレンダリングしているが、その後の下での主要なカテゴリとしてサブカテゴリーをレンダリングするということです。
カテゴリとサブカテゴリは、1つのテーブルに保存されます。ここでは、メインカテゴリの列parent_id
があります。サブカテゴリがメインカテゴリのIDです。これは私のモデルである
public function parent()
{
return $this->belongsTo('App\Category');
}
public function children()
{
return $this->hasMany('App\Category', 'parent_id');
}
コントローラ
public function index()
{
$allCategories = Category::with(['children'])->get();
return view('categories', compact('allCategories'));
}
とブレード
@foreach($allCategories as $category)
<li class="treeview">
<a href="{{ $category->id }}">{{ $category->title }}</a>
<ul class="treeview-menu">
@foreach($category->children as $subcategory)
<li class=""><a href="{{$subcategory->id}}">{{$subcategory->title}}</a></li>
@endforeach
</ul>
</li>
@endforeach
感謝。それは素晴らしい仕事です。 – Peter