【发布时间】:2018-09-26 18:57:45
【问题描述】:
我想知道如何在不使用查询字符串的情况下向 Laravel 的 Route Resource 添加其他参数。
我创建了一个包含所有内置资源的控制器 (CustomerController),然后添加了以下路由:
Route::resource('customers', 'CustomerController');
我想做的是在不创建自定义路由或使用查询字符串的情况下向一些默认资源添加额外的参数。例如:
带有可选参数(索引)的默认资源:
public function index($page = 0)
{
//...
}
所需网址:
http://www.example.com/customers
http://www.example.com/customers/{page}
我尝试了以下方法,但出现未找到的异常 (NotFoundHttpException):
Route::resource('customers', 'CustomerController')->parameters([
'index' => 'page'
]);
这可能吗?如果是这样,我该如何完成?
【问题讨论】:
-
这与
resources在 Laravel 中的工作方式背道而驰。您可以排除要覆盖的路由并手动定义它们。请记住,Laravel 是固执己见的,但您可以随时更改它的意见。
标签: laravel laravel-5 laravel-routing