laravel - 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>
解决方案
您的产品模型应如下所示:
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");
}
}
推荐阅读
- android - Android Studio:获取大量文本数据然后在 Activity 中显示的最有效方式
- google-cloud-platform - 来自 dialogflow.googleapis.com 的 PERMISSION_DENIED 错误
- scala - 如何计算 akkaHttp RejectionHandler 拒绝和成功?
- javascript - 强制所有段落扩展并匹配最高段落的高度
- python - Discord.py - Discord 不处理 @client.command
- python - 在蓝牙套接字上使用 pySerialTransfer
- c# - 查询用户是否订阅指定新闻并返回的查询方法和途径
- arrays - 通过 Pymongo 查询 MongoDB 数组,仅将 LIKE 指定值的元素返回到 Pandas Dataframe
- python - 使用本地依赖项在 Heroku 上部署 Flask 应用程序
- flutter - 如何在颤动的所有页面中显示底部导航栏