使用 Route::resource 时更改默认 URL 参数名称



当使用Route::resource()时,Laravel当然会为你"选择"一些东西,比如路由名称和方法。

例如,我知道如何覆盖允许的路由/方法:

Route::resource('user', 'UserController', array('only' => array('index', 'show')));

但是我现在需要覆盖Laravel为user路由设置的URL参数名称。默认情况下,在上面的示例中,它将user。但是,我希望它是user_id.

Laravel在使用Route::resource时是否提供了一种设置方法?

因此,例如,我最终会得到以下路线:

mydomain.com/users/{user_id}

而不是:

mydomain.com/users/{user}

谢谢

找到了。是的,Laravel确实提供了一种在使用时覆盖Route::resource()的方法。

Route::resource('users', 'UserController')->parameters([
'users' => 'user_id'
]);

数组中元素在"参数"中的键与您输入的"资源"方法的第一个参数(不是"单数"版本或其他内容(的键相同

最新更新