Laravel 5 路由链接多个模型/控制器


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}

我的路线.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 资源控制器