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

时间:2018-08-18 09:04:08

标签: laravel laravel-routing

使用Route::resource()时,Laravel当然会为您“选择”某些东西,例如路线名称和方法。

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

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

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

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

例如,这样我将得到以下路线:

mydomain.com/users/{user_id}

而不是:

mydomain.com/users/{user}

谢谢

1 个答案:

答案 0 :(得分:0)

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

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

“ parameters”参数中数组元素的键与您输入的“ resource”方法的第一个参数(不是“ singular”版本)相同。