Laravel 5 路由链接多个 Models/Controllers

Laravel 5 Route Chaining Multiple Models/Controllers

我是 laravel 的新手,想问一下如何设置我网站的路由。使用路由资源,我将获得这样的 URI。

http://www.example.com/products // List all the products
http://www.example.com/products/create // Display a form to create a product
...
And so on...

我想要完成的是,当我访问单个产品并单击其类别时,我的路线应该如下所示:

http://www.example.com/products/{slug}/category/{slug}

http://www.example.com/{productsSlug}/{categorySlug}

我的routes.php

<?php

Route::get('home', 'PagesController@home');

Route::resource('products', 'ProductsController');
Route::resource('categories', 'CategoriesController');

是的,你可以。这叫做嵌套路由:

Route::resource('products.category', 'ProductsCategoryController');

然后该控制器中的方法将仅接收产品 id/slug 作为第一个参数,类别 id/slug(如果可用)作为第二个参数。例如:

public function index($productSlug){}

public function show($productSlug, $categorySlug){}

Laravel Docs - RESTful Resource Controllers