我试图展示与该类别相关的产品。在我的菜单中,我有一个类别列表,如果我点击此类别,我想看到此类别的相关产品。我只是学习laravel可以帮助我...
数据库:
-categories: ID, NAME
-products: has Category_id
查看
Route::get('/category' , [
'uses' => 'productController@getCategory',
'as' => 'category.single'
]);
控制器
public function getCategory($category) {
$singleCategory = Category::find($category);
return view('pages.category', ['category' => $singleCategory]);
}
我如何离开这里?
答案 0 :(得分:0)
按照以下几行:
$singleCategory = Category::find($category);
return view('pages.category', ['category' => $singleCategory]);
category
列表位于pages.category
下的$category
页面上。它是一个Collection对象,您可以使用foreach()
循环访问其对象。
答案 1 :(得分:0)
我如何离开这里?
我不知道。
但是对于您的问题,如果您想获得类别的产品,请执行以下操作:
$singleCategory = Category::find($category);
$products = $singleCategory->products;
(我假设您在products
模型中添加了Category
方法,如果没有,请阅读:https://laravel.com/docs/5.4/eloquent-relationships#one-to-many)。
然后,您可以通过循环展示您的产品来展示您的产品:
foreach($products as $product) {
echo $product->name;
}
答案 2 :(得分:0)
在Category.php模型中添加关系
Book [title=book1, author=author1]
Book [title=book2, author=author2]
Book [title=book3, author=author3]
然后你可以打电话
public function products()
{
return $this->hasMany('App\Product');
}
您可以通过category_id
获取产品