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')
完美無缺。
我錯過了什麼?
謝謝!現在我想我明白這個問題的原因。將嘗試並更新你! –
謝謝,它現在像一個魅力。這有助於瞭解路由如何工作。 –
很高興幫助:) –