我正在尝试显示与该类别相关的产品。在我的菜单中,我有一个类别列表,如果我单击此类别,我想查看与此类别相关的产品。我只是在学习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>
我怎么从这里走?
答案 0 :(得分:0)
像这样在类别类中更改代码:
class category extends Model
{
public $table = "category";
public function products()
{
return $this->hasMany('App\products','p_id');
}
}
然后,您可以像这样获得与该类别相关的所有产品:
@foreach(App\category::all() as $firstmenu)
@foreach($firstmenu->products())
// All of product in this one category
@endforeach
@endforeach
答案 1 :(得分:0)
您需要更新类别模型
category.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>