我是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}
我的路线.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 文档 - RESTful 资源控制器