LARAVEL - 将产品展示给相关类别

时间:2017-05-02 10:10:11

标签: php laravel

我试图展示与该类别相关的产品。在我的菜单中,我有一个类别列表,如果我点击此类别,我想看到此类别的相关产品。我只是学习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]);
}

我如何离开这里?

3 个答案:

答案 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

获取产品