Php Treeview菜单在Laravel中渲染两次类别
我已经创建了嵌套的treeview类别和子类别,但它似乎呈现了两次类别 这就是发生的事情,我在第页看到了Php Treeview菜单在Laravel中渲染两次类别,php,laravel,laravel-5,treeview,laravel-5.2,Php,Laravel,Laravel 5,Treeview,Laravel 5.2,我已经创建了嵌套的treeview类别和子类别,但它似乎呈现了两次类别 这就是发生的事情,我在第页看到了 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 这里发生
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
这里发生的事情是,首先渲染正确的树视图,然后在下面渲染子类别作为主类别
类别和子类别保存在一个表中,其中主类别有列parent\u id
0,而if is sub category是主类别的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
@foreach($allCategories作为$category)
@foreach($category->children as$subcategory)
@endforeach
@endforeach
像这样试试
模型
你的控制器
public function index()
{
$allCategories = Category::tree();
return view('categories', compact('allCategories'));
}
还有你的刀片视图
@foreach($allCategories as $item)
<li class="treeview">
<a href="{{ $item->id }}"><i class="fa fa-link"></i> <span>{{ $item->title }}</span> <i class="fa fa-angle-left pull-right"></i></a>
<ul class="treeview-menu">
@foreach($item['children'] as $child)
<li><a href="{{ $child->id }}">{{ $child->title }}</a></li>
@endforeach
</ul>
</li>
@endforeach
@foreach($allCategories作为$item)
@foreach($child'项目]作为$child)
@endforeach
@endforeach
这是一个问题,因为雄辩者会为每个孩子进行查询。在我的情况下,我有太多的菜单和子菜单,雄辩地提出67个查询。安装以查看查询
@foreach($allCategories as $item)
<li class="treeview">
<a href="{{ $item->id }}"><i class="fa fa-link"></i> <span>{{ $item->title }}</span> <i class="fa fa-angle-left pull-right"></i></a>
<ul class="treeview-menu">
@foreach($item['children'] as $child)
<li><a href="{{ $child->id }}">{{ $child->title }}</a></li>
@endforeach
</ul>
</li>
@endforeach