1
我在Laravel 5中有以下路由定义。当我按以下方式对路由进行分组时,似乎路由admin.proposals.home
将不起作用,如果我提供"/"
作为get路径,并且将如果事情后工作(如home
)被提供:Laravel - 根目录路由在嵌套路由组中行为异常
/**
* Routes for system administrators.
*/
Route::group(['prefix' => 'admin', 'middleware' => 'admin'], function()
{
Route::group(['prefix' => 'people'], function()
{
Route::get('/', ['as' => 'admin.people.home', 'uses' => '[email protected]']);
Route::get('/profile/{userName}', ['as' => 'admin.person.profile', 'uses' => '[email protected]']);
Route::get('/organization/{id}', ['as' => 'admin.people.organization', 'uses' => '[email protected]']);
});
Route::group(['prefix' => 'projects'], function()
{
Route::get('/', ['as' => 'admin.projects.home', 'uses' => '[email protected]']);
Route::get('/{projectId}', ['as' => 'admin.project.view', 'uses' => '[email protected]']);
Route::group(['prefix' => 'proposals'], function()
{
//problematic line below
Route::get('/home', ['as' => 'admin.proposals.home', 'uses' => '[email protected]']);
Route::get('/{proposalId}', ['as' => 'admin.proposal.view', 'uses' => '[email protected]']);
});
});
});
具体地,如果我更改行:
Route::get('/home', ['as' => 'admin.proposals.home',
'uses' => '[email protected]'
]);
到:
Route::get('/', ['as' => 'admin.proposals.home',
'uses' => '[email protected]'
]);
我得到了一个错误说:
Trying to get property of non-object (View: ... \views\admin\projects\view.blade.php)
但是,在admin.proposals.home
路由指向控制器index()
方法和无关与view.blad.php
。
将路径更改回get('/home')
完美无缺。
我错过了什么?
谢谢!现在我想我明白这个问题的原因。将尝试并更新你! –
谢谢,它现在像一个魅力。这有助于了解路由如何工作。 –
很高兴帮助:) –