组的路线名称不适用
Route name for a group doesn't apply
所以我 运行 遇到了一个问题,我希望我的路线看起来漂亮整洁,找到了一个例子,但是名称 'admin.' 没有在路线名称前面注册路线列表。
Route::group([
'namespace' => 'Admin',
'middleware' => 'admin',
'prefix' => 'admin',
'name' => 'admin.'
], function () {
Route::resource('articles', 'ArticleController');
});
如果我让它有点不同,那么一切都很好。
Route::group([
'namespace' => 'Admin',
'middleware' => 'admin',
'prefix' => 'admin',
], function () {
Route::name('admin.')->group(function () {
Route::resource('articles', 'ArticleController');
});
});
有人可以解释为什么会这样吗?
在这种情况下,您可能正在寻找密钥 'as'
而不是 'name'
:
Route::group([
'namespace' => 'Admin',
'middleware' => 'admin',
'prefix' => 'admin',
'as' => 'admin.'
], function () {
Route::resource('articles', 'ArticleController');
});
在通过方法调用设置这些属性时,可以使用 name
,它只是 as
的别名。例如:
Route::name('admin.')->group(...);
即使对于 Route 对象,name
也只是设置一个名为 as
:
的属性
Route::get(..., ...)->name('blah'); // is actually setting `as`
所以我 运行 遇到了一个问题,我希望我的路线看起来漂亮整洁,找到了一个例子,但是名称 'admin.' 没有在路线名称前面注册路线列表。
Route::group([
'namespace' => 'Admin',
'middleware' => 'admin',
'prefix' => 'admin',
'name' => 'admin.'
], function () {
Route::resource('articles', 'ArticleController');
});
如果我让它有点不同,那么一切都很好。
Route::group([
'namespace' => 'Admin',
'middleware' => 'admin',
'prefix' => 'admin',
], function () {
Route::name('admin.')->group(function () {
Route::resource('articles', 'ArticleController');
});
});
有人可以解释为什么会这样吗?
在这种情况下,您可能正在寻找密钥 'as'
而不是 'name'
:
Route::group([
'namespace' => 'Admin',
'middleware' => 'admin',
'prefix' => 'admin',
'as' => 'admin.'
], function () {
Route::resource('articles', 'ArticleController');
});
在通过方法调用设置这些属性时,可以使用 name
,它只是 as
的别名。例如:
Route::name('admin.')->group(...);
即使对于 Route 对象,name
也只是设置一个名为 as
:
Route::get(..., ...)->name('blah'); // is actually setting `as`