我新的laravel和我想知道如何使一个动态侧边栏。
现在看起来是这样的
在我的母语中,它的意思是"类别"--浆果、果汁、糖果--它们中的每一个都指向一个视图,在这个视图中,应该只有那些在数据库中的"类别"列中包含这三个中的一个的产品。
我的问题是:
1)我可以用foreach循环来做吗?
2)我是否需要为它们每个做一个模型和控制器,如果我做了,我需要什么功能?
3)如何仅显示具有正确类别的产品
现在我有:
@foreach($products as $item)
<div class="col-sm-6 col-md-4">
<a href="details/{{$item['id']}}">
<div class="thumbnail">
<img src="images/{{$item['galerija']}}" alt="...">
<div class="caption">
<h3>{{$item['nosaukums']}}</h3>
<p>{{$item['cena']}}</p>
</div>
</div>
</a>
</div>
@endforeach
所有的产品都有。我需要类似的东西吗?
更多细节。
在我的控制器中:
function shop()
{
$data= Product::all();
return view('pages.shop',['products'=>$data]);
}
我的型号:
class Product extends Model{
protected $primaryKey = 'id';
public $timestamps = false;
protected $fillable = [
'nosaukums', 'cena', 'kategorija', 'galerija', 'apraksts',
];
}
1条答案
按热度按时间but5z9lq1#
1.是的。
1.因为是同一个模型,所以只需要一个控制器和一种方法(如果按照惯例,这将是
show
方法)。1.使用关系。
由于你是用你的母语编码的(我无法破译),下面的例子是你如何做的一种方法。
P.S.在一个产品可以有多个类别的情况下,您应该使用透视表将关系转换为多对多。
类别模型
产品型号
网页. php
侧边栏视图
注意:您可以使用View Composer加载
$categories
。类别控制器