首页 > 解决方案 > 我想使用 laravel 向相关类别展示产品

问题描述

我正在尝试展示与该类别相关的产品。在我的菜单中,我有一个类别列表,如果我单击此类别,我想查看与该类别相关的产品。我只是在学习laravel,有人可以帮助我吗..

数据库

-category: ID, cate_name ,p_id
-products: has Category_id

类别模型

namespace App;
use Illuminate\Database\Eloquent\Model;
class category extends Model
{
    public $table = "category";
    public function childs()
    {
        return $this->hasMany('App\category','p_id');
    }
}

类别视图

         <div class="nav-panel__nav-links nav-links">
        <ul class="nav-links__list">
          @foreach(App\category::with('childs')- 
         >where('p_id',0)->get() as $firstmenu)
        <li class="nav-links__item  nav-links__item--has-submenu ">
        <a id="cate" class="nav-links__item-link" href="{{$firstmenu- 
         >cate_name}}">
        <div class="nav-links__item-body">{{$firstmenu->cate_name}}
        <svg class="nav-links__item-arrow" width="9px" height="6px">
        <use xlink:href="public/assets/images/sprite.svg#arrow-rounded-down- 
        9x6"></use>
        </svg>
            </div>
        </a>
        <div class="nav-links__submenu nav-links__submenu--type--megamenu 
         nav-links__submenu--size--nl">
        <!-- .megamenu -->
        <div class="megamenu ">
        <div class="megamenu__body">
        <div class="row">@foreach($firstmenu->childs as 
          $secondmenu)
        <div class="col-6">
        <ul class="megamenu__links megamenu__links--level--0">
        <li class="megamenu__item  megamenu__item--with-submenu "> <a 
         href="">{{$secondmenu->cate_name}}</a>
        <ul class="megamenu__links megamenu__links--level- 
     -1">@foreach($secondmenu->childs as $thirdmenu)
    <li class="megamenu__item"><a href="">{{$thirdmenu->cate_name}}</a>
    </li>@endforeach</ul>
    </li>
    </ul>
    </div>@endforeach</div>
    </div>
    </div>
    <!-- .megamenu / end -->
    </div>
    </li>@endforeach</ul>
       </div>

我怎么从这里走?

标签: laravel

解决方案


您需要更新您的类别模型

类别.php

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;

class category extends Model
{
    public $table = "category";
    public function products()
    {
        return $this->hasMany('App\product', 'ID', 'p_id');
    }
}

类别视图

<div class="nav-panel__nav-links nav-links">
    <ul class="nav-links__list">
        @foreach(App\category::with('products')->where('p_id',0)->first()->products as $firstmenu)
            <li class="nav-links__item  nav-links__item--has-submenu ">
                <a id="cate" class="nav-links__item-link" href="{{$firstmenu->cate_name}}">
                    <input type="hidden" name="cate"  value="{{$firstmenu->id}}">
                    <div  class="nav-links__item-body">
                        {{$firstmenu->cate_name}}
                        <svg class="nav-links__item-arrow" width="9px" height="6px">
                            <use xlink:href="public/assets/images/sprite.svg#arrow-rounded-down-9x6"></use>
                        </svg>
                    </div>
                </a>
            <li>
    </ul>
</div>

推荐阅读