首页 > 解决方案 > I'm trying to show products related to the category. if I click this category i want to see related products to this category.?

问题描述

I'm trying to show products related to the category. In my menu I have a list of categories if I click this category i want to see related products to this category. I'm just learning laravel can somebody help me out..

database

             category  id ,cate_name p_id

               product has -   cate_id   

product model

           class product extends Model
           {
            protected $fillable = [ 'id', 'product_name', 'product_price', 
           'product_image', 'product_brand'];
            }

category model

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

html view

 <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

解决方案


您的产品模型应如下所示:

class Product extends Model
{
    public $guarded = [];

    public function category(){
      return $this->belongsTo("App\Category", "category_id");
    }
}

这应该是您的类别模型“Category.php”:

class Category extends Model
{
    public $guarded = [];

    public function products(){

      return $this->hasMany("App\Product", "category_id");
    }
}

推荐阅读