2014-03-26 66 views

回答

23

我有這個錯誤太所以我就張貼我的觀察這裏。它總是可以幫助別人!

似乎getAfterFilters()是需要在L4所有控制器的方法。 如果錯誤提示它沒有定義,你可能忘記在你的類中擴展BaseController。

知道了,很明顯的解決將是延長BaseController ...但你不nececarly不得不如果不需要它。 就我而言,我的課必須是一個有效的控制者,因爲一個非常愚蠢的原因。我使用以下路線語法:

Route::get('sse', '[email protected]'); 

SSE不延長BaseController(並不需要恕我直言) 但是這條路線的語法要求你使用擴展BaseController控制器類...所以我改變了它for:

Route::get('sse', [function() { 
    SSE::deamon(); 
}]); 

它現在可以正常工作,不會丟失getAfterFilters()錯誤!

+0

太棒了,是這個! – sergiovilar

4

好吧,這是一個更可能發生的事情...

你是你的控制器上運行可能不會在路線正確定義的方法......例如,這是我做的自己:

Route::get('vendors/getData', '[email protected]'); 
Route::resource("vendors","VendorsController"); 

應該已經

Route::get('vendors/getData', '[email protected]'); 
Route::resource("vendors","VendorsController"); 

,而不是!所以基本上Amaur說的是完美的!我的getData函數沒有擴展基礎控制器,因爲我試圖運行模型的功能而不是控制器!你可能想在把頭髮拉出來之前檢查一下!

0

我有同樣的問題。在routes.php中,我錯過了Controller字。

我的錯誤

路線::得到( '/列表用戶/ {狀態?}/{頁}?', '用戶@ listUsers');

應該

路線::得到( '/列表用戶/ {狀態?}/{頁}?', 'UserController的@ listUsers');

相關問題