2015-11-13 38 views
0

我使用作曲家更新更新了我的laravel安裝,並且出現此錯誤。在更新laravel 5.1.8至5.1.24之後未定義路徑

Route [categoryid] not defined 

奇怪的是,在更新之前,它工作得很好。 我routes.php文件文件看起來像這樣:

Route::group(['prefix'=>'category'], function() { 

    Route::get('mobilephones', [ 
     'as'=>'mobilephones', 
     'uses'=>'[email protected]' 
    ]); 

    Route::get('{categoryid}', [ 
     'as'=>'categoryid', 
     'uses'=>'[email protected]' 
    ]); 

    Route::get('{categoryid}', [ 
     'as'=>'computerscategoryid', 
     'uses'=>'[email protected]' 
    ]);  
}); 

和我打電話此HTML代碼

<li><a href="{{route('categoryid',['argument'])}}">Argument</a></li> 

一切都用來工作,所以路由任何人都知道的變化在組航線文件5.1.8之後?

+0

始終運行'php artisan route:list'來查看您的路線。如果我猜測,我會說,因爲你有兩條路線完全相同,但由於某種原因有不同的路線名稱,其中一條路線正在壓倒另一條路線。我會建議刪除'computerscategoryid'路線。 –

+0

@ThomasKim謝謝。就是這樣。我有2條路線用於搜索引擎優化的目的,但刪除coumputerscategoryid後,它的工作。如果您想將其作爲批准的答案發布。 – George

+0

@George Done,謝謝! :) –

回答

2

作爲一般規則,請始終運行php artisan route:list以查看已編譯的路線列表。

你有兩條路是做同樣的事情:

Route::get('{categoryid}', [ 
    'as'=>'categoryid', 
    'uses'=>'[email protected]' 
]); 

Route::get('{categoryid}', [ 
    'as'=>'computerscategoryid', 
    'uses'=>'[email protected]' 
]); 

他們接受了同樣的觀點。他們被髮送到相同的控制器操作。唯一的區別是他們有不同的路由名稱。其中一個(第二個)很可能壓倒另一個。我建議刪除第二個 - computerscategoryid - 因爲我看不到有這兩個人的目的。