Reputation: 147
Am developing a website like Olx. I want to append the main categories and sub categories in menu bar. Am getting the return object like this for each element:
My controller code is:
$all_categories = [];
$main_categories_name = Category::where('parent_id', 0)->pluck('name')->toArray();
$main_categories_id = Category::where('parent_id', 0)->pluck('id')->toArray();
foreach($main_categories_id as $id){
$name = Category::where('id', $id)->pluck('name');
$sub_categories = Category::where('parent_id', $id)->pluck('name')->toArray();
$all_categories[] = array('name' => $name, 'sub_categories' => $sub_categories);
}
return $all_categories;
How do I get these elements in blade?
@foreach($all_categories as $category)
@foreach($category['name'] as $category)
<li id="{{$category}}" name="{{$category}}" class="dropdown-submenu main_category"> <a class="maincategory" tabindex="-1" href="#"><span class="categoryname">{{$category}}</span></a>
<ul class="dropdown-menu">
<li class="subcategory" id="subcat"> sub_category
</li>
</ul>
</li>
@endforeach
@endforeach
I used like this. Now I want sub_categories in the name where I mentioned sub_category.
After using this code:
<ul class="dropdown-menu multi-level">
@foreach($all_categories as $category)
<li id="{{$category['name']}}" name="{{$category['name']}}" class="dropdown-submenu main_category"> <a class="maincategory" tabindex="-1" href="#"><span class="categoryname">{{$category['name']}}</span></a>
<ul class="dropdown-menu">
@foreach($category['sub_categories'] as $category)
<li class="subcategory" id="subcat"><a href="#">{{$category}}</a></li>
@endforeach
</ul>
</li>
@endforeach
</ul>
What to do for this? Am getting empty array like this?
Upvotes: 1
Views: 11086
Reputation: 13303
Return the view blade along with compact of that variable:
return view('yourblade',compact('all_categories'));
Then in the blade file, use foreach
to parse the sub-categories:
foreach($all_categories as $category)
With formatting:
@foreach($all_categories as $category)
{{ $category['name'] }} // Prints men,... - format with your
@foreach($category['sub_categories'] as $subcategory) {
{{ $subcategory }} // Prints all your sub-categories under men,...
@endforeach
@endforeach
Upvotes: 2