Laravel 5 Route Chaining多种型号/控制器

时间:2015-03-13 21:53:06

标签: php laravel-5

我是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}

OR

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

我的routes.php

<?php

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

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

1 个答案:

答案 0 :(得分:0)

是的,你可以。这称为嵌套路由

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

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

public function index($productSlug){}

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

Laravel Docs - RESTful Resource Controllers