Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 显示类别的子类别_Php_Laravel - Fatal编程技术网

Php 显示类别的子类别

Php 显示类别的子类别,php,laravel,Php,Laravel,我试图显示类别及其子类别作为一个电子商店,我有一个下拉列表等 我的问题是,我的子类别项目根本不显示,而且没有错误。 这是我的分类型号代码 class kategorijas extends Model { //relācija ar modeli apakskategorijas public function apakskategorija() { return $this->hasMany('apakskategorijas'); }

我试图显示类别及其子类别作为一个电子商店,我有一个下拉列表等

我的问题是,我的子类别项目根本不显示,而且没有错误。

这是我的分类型号代码

class kategorijas extends Model
{
    //relācija ar modeli apakskategorijas
    public function apakskategorija()
    {
        return $this->hasMany('apakskategorijas');
    }

}
class apakskategorijas extends Model
{
    //relācija ar modeli kategorijas
    public function kategorija()
    {
        return $this->belongsTo('kategorijas');
    }
}
public function mainpage()
   {
        $kat_id = kategorijas::find('id');
        $apakskat = apakskategorijas::where('kategorijas_id','=',$kat_id)->get();
        $kat = kategorijas::All();       
        return view ('master',compact('kat','apakskat'));
   }
这是我的子类别型号代码

class kategorijas extends Model
{
    //relācija ar modeli apakskategorijas
    public function apakskategorija()
    {
        return $this->hasMany('apakskategorijas');
    }

}
class apakskategorijas extends Model
{
    //relācija ar modeli kategorijas
    public function kategorija()
    {
        return $this->belongsTo('kategorijas');
    }
}
public function mainpage()
   {
        $kat_id = kategorijas::find('id');
        $apakskat = apakskategorijas::where('kategorijas_id','=',$kat_id)->get();
        $kat = kategorijas::All();       
        return view ('master',compact('kat','apakskat'));
   }
然后是我的路线控制器代码

class kategorijas extends Model
{
    //relācija ar modeli apakskategorijas
    public function apakskategorija()
    {
        return $this->hasMany('apakskategorijas');
    }

}
class apakskategorijas extends Model
{
    //relācija ar modeli kategorijas
    public function kategorija()
    {
        return $this->belongsTo('kategorijas');
    }
}
public function mainpage()
   {
        $kat_id = kategorijas::find('id');
        $apakskat = apakskategorijas::where('kategorijas_id','=',$kat_id)->get();
        $kat = kategorijas::All();       
        return view ('master',compact('kat','apakskat'));
   }
和大男孩的自我,观点

<div class="kp-menu-container">

            <!-- // left menu.... -->
            <ul class="main">
                @foreach($kat as $kategorijas)
                    <li><a href="">{{$kategorijas->nosaukums}}</a></li>
                @endforeach
            </ul>

            <!-- // right menu....... -->
            <div class="kp-submenu-container">
                @foreach($kat as $kategorijas)
                    <div class="submenu-content">
                        <h3>{{$kategorijas->nosaukums}}</h3>
                        <ul>
                            @foreach((array)$kategorijas->apakskat as $apakskategorijas)
                                <li><a href="">{{$apakskategorijas->nosaukums}}</a></li>
                            @endforeach
                        </ul>
                    </div>
                @endforeach
            </div>
        </div>
子类别


如果要显示ID为$kat\U ID的类别的子类别,请将代码更改为:

@foreach ($apakskat as $apakskategorijas)
如果要显示具有相关子类别的所有类别,请将其加载到控制器中:

$kat = kategorijas::with('apakskategorija')->get();
并在视图中的子类别上迭代:

@foreach ($kategorijas->apakskategorija as $apakskategorijas)
另外,修复关系:

public function apakskategorija()
{
    return $this->hasMany(apakskategorijas::class, 'kategorijas_id');
}

看看这个,我是在我的网站上做的。这将更容易:

  • 迁移:

    公共职能 { Schema::create('categories',函数(Blueprint$表){ $table->increments('id'); $table->string('title_en',500); $table->integer('parent_id')->unsinged()->nullable(); }); }

    • 型号:
    类类别扩展模型 { 公共职能儿童(){ 返回$this->hasMany(Category::class,'parent_id','id'); }

    }

    • 控制器:
    公共职能指数() { $categories=Category::with('children') ->其中(['user\u id'=>Auth::id()) ->whereNull('parent_id')) ->get(); 返回视图('category.index',['categories'=>$categories->toArray()]); }

视图:

@foreach(\App\Entity\Category::getAll()作为$cat)
@如果(为空($cat['parent\u id']))
  • @如果(isset($cat['children'])和计数($cat['children'])>0)
      @foreach($cat['children']作为$subCat)
    • @endforeach
    @恩迪夫
  • @恩迪夫 @endforeach