【问题标题】:Change default URL param name when using Route::resource使用 Route::resource 时更改默认 URL 参数名称
【发布时间】:2019-01-25 04:22:24
【问题描述】:

当使用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}

谢谢

【问题讨论】:

  • 为什么要投反对票?
  • 我没有投反对票,但可能有人因为缺乏研究而投了反对票……这直接在 laravel 文档中用于资源路由;所以你没有做适当的研究(检查文档)......我猜他们的想法

标签: laravel laravel-routing


【解决方案1】:

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

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

'parameters' 的参数中数组中元素的键与你作为'resource' 方法的第一个参数输入的相同(不是'singular' 版本之类的)

【讨论】:

    猜你喜欢
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    相关资源
    最近更新 更多