显示类别的子类别

Rhercb

我试图将类别及其子类别显示为一个电子商店,其中有一个下拉列表,依此类推。

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

这是我的类别模型代码

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>

我搜索了很多论坛,在stackoverflow中查看了这里,但是似乎找不到解决方案,这就是为什么我要请大家帮我弄清楚这个问题。

谢谢你们。

如果您需要迁移代码:

类别

public function up()
    {
        Schema::create('kategorijas', function (Blueprint $table) {
            $table->increments('id');
            $table->string('nosaukums');
            $table->timestamps();
        });
    }

子类别

public function up()
    {
        Schema::create('apakskategorijas', function (Blueprint $table) {
            $table->increments('id');
            $table->string('nosaukums');
            $table->integer('kategorijas_id')->unsigned()->index();
            $table->foreign('kategorijas_id')->references('id')->on('kategorijas');
            $table->timestamps();
        });
    }
阿列克谢·梅曾宁(Alexey Mezenin)

如果要显示带有类别的子类别ID = $kat_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');
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章