【问题标题】:Laravel: Rename route names for resource routesLaravel:重命名资源路由的路由名称
【发布时间】:2021-05-21 06:14:56
【问题描述】:

我想为我的路线名称使用不同的(复数)模型名称,因为我的网址使用不同的语言。

我可以通过Restful Naming Resource Routes实现它

Route::resource('/foo', BarController::class)->parameters([
    'foo' => 'bar',
])->names([
    'index' => 'bar.index',
    'create' => 'bar.create',
    'store' => 'bar.store',
    'show' => 'bar.show',
    'edit' => 'bar.edit',
    'update' => 'bar.update',
    'destroy' => 'bar.destroy',
]);

但是..我必须为每条资源路线都这样做:

Route::resource('/usuarios', UserController::class)->parameters([
    'usuarios' => 'user',
])->names([
    'index' => 'user.index',
    'create' => 'user.create',
    'store' => 'user.store',
    'show' => 'user.show',
    'edit' => 'user.edit',
    'update' => 'user.update',
    'destroy' => 'user.destroy',
]);

我怎样才能使这个干燥?

【问题讨论】:

    标签: laravel laravel-8


    【解决方案1】:

    您可以将该部分提取到一个函数中。

    function routeNames($model)
    {
        return array_map(
            fn ($n) => "{$model}.{$n}",
            ['index', 'create', 'store', 'show', 'edit', 'update', 'destroy']
        );
    }
    
    
    Route::resource('/usuarios', UserController::class)->parameters([
        'usuarios' => 'user',
    ])->names(routeNames('user'));
    
    

    【讨论】:

      猜你喜欢
      • 2015-03-04
      • 2017-02-12
      • 1970-01-01
      • 2019-06-30
      • 2017-08-22
      • 2018-09-24
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      相关资源
      最近更新 更多