Вывод меню php laravel
Всем привет! Например, я перешел на стр. категория id = 1,
не работает условие (чтобы последней категории сделать ссылку в include):
<a href="#">{{$categoryItem->name}}</a>как мне отлавливать какие категории открыты по цепочки и вставлять в include checked, чтобы они были открыты в самом меню, так как мы находимся в категории:
<input type="checkbox" checked="checked">
Контроллер:
public function index($s_id, $category_id)
{
$user_id = Auth::user()->id;
$s_one = S::S($s_id, $user_id)->first();
$product = Product::where([
['s_id', '=', $s_id],
['category_id', '=', $category_id]
])->paginate(3);
return view('assortment.category.index', [
'category' => [],
'categories' => Category::with(['children',])->where('parent_id', 0)->get(),
's_one' => $s_one,
'product' => $product,
'category_id' => $category_id,
]);
}
blade:
<nav class="vertical_nav">
<ul class="cd-accordion-menu">
@include('assortment.category.recursive_menu')
</ul>
</nav>
Модель:
public function children()
{
return $this->hasMany(Category::class, 'parent_id', 'id');
}
include:
@foreach($categories as $categoryItem)
<li>
{{--проверяем существуют ли вложенные категории--}}
@if(isset($categoryItem->children) )
<input type="checkbox" id="{{$categoryItem->id}}" name="{{$categoryItem->id}}" >
<label for="{{$categoryItem->id}}">{{$categoryItem->name}}</label>
<ul>
@include('assortment.category.recursive_menu', [
'categories' => $categoryItem->children,
])
</ul>
@else
<a href="#">{{$categoryItem->name}}</a>
@endif
</li>
@endforeach