如何在Laravel的类别导航菜单中返回子类别

问题描述 投票:0回答:1

我已经使用AppServiceProvider在所有页面上可用,并且我想在导航菜单中加载其自己类别中的所有子类别,现在它将加载所有类别,而在最后一个类别中,它将列出表中具有的所有子类别,请提供帮助。] >

here is image sample

header.blade.php

 @foreach($shareData['categories'] as $category)
      <li class="dropdown m-menu-fw">
        <a href="#" data-toggle="dropdown" class="dropdown-toggle">{{ $category->name }}
                                <span><i class="fa fa-angle-down"></i></span></a>

                                @endforeach
                                <ul class="dropdown-menu" >
                                    <li>
                                        <div class="m-menu-content" style="text-align: center;">
                                            <ul class="col-sm-12" >
                                                <li class="dropdown-header">{{ $category->name }}</li>
                                                @foreach($shareData['subcategories'] as $subcategory)
                                                <li><a href="#">{{ $subcategory->name }}</a></li>
                                                @endforeach
                                            </ul>



                                        </div>
                                    </li>
                                </ul>
                            </li>

AppServicePrivider.php

 $categories = Category::where('status',1)->get(); 
        $subcategories = Subcategory::where('status',1)->get();
$shareData = array( 
'categories'=>$categories,
'subcategories'=>$subcategories
);

       view()->share('shareData',$shareData);

Category.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
    protected $table = 'categories';


    public function posts(){
        return $this->hasMany('App\Post');
    }

    public function subcategory(){
        return $this->hasMany('App\Subcategory');
    }
}


我已经使用AppServiceProvider在所有页面上可用,并且我想在导航菜单中加载其自己类别中的所有子类别,现在它将加载所有类别,而在最后一个类别中......]

php laravel laravel-5.8
1个回答
0
投票
您应该直接在类别查询中使用with('subcategory')

view()->share('shareData',Category::with('subcategory')->where('status',1)->get());

© www.soinside.com 2019 - 2024. All rights reserved.