【发布时间】:2019-10-05 06:56:16
【问题描述】:
我在一个名为 VehicleController 的控制器中有一些命名路由:
vehicle.index
vehicle.show
然后我有一个管理部分,在那里我定义了一个带有前缀和中间件的路由组。在本节中,我有一个资源控制器名称 AdminVehicleController 来处理 Vehicle 的 CRUD 任务(不确定这是否是最佳实践),路径如下:
vehicle.index
vehicle.create
vehicle.store
...
但是,这些命名路线是相互冲突的。我的路线web.php 现在看起来像这样:
Route::get('vehicles', 'VehicleController@index')->name('vehicle.index');
Route::get('vehicle/{vehicle}', 'VehicleController@show')->name('vehicle.show');
Route::group(['prefix' => 'admin', 'middleware' => 'is.admin'], function () {
Route::get('/', 'AdminDashboardController@index');
Route::resource('vehicle', 'AdminVehicleController');
});
如果我将'name' => 'admin' 添加到Route::group() 数组中,路由名称将是adminvehicle.index 而不是admin.vehicle.index。
在路由中组合所有这些参数的正确方法是什么?
【问题讨论】:
-
你可以使用
as键,'as'=> 'admin.',注意admin末尾的.。 ref -
我试过了,但是对于
admin(仪表板 URL),命名路由将是admin.- 不是一个大问题,但很烦人。 -
您也可以将其命名为
dashboard,这样就可以命名为admin.dashboard,这样会更简洁。
标签: php laravel routes laravel-6