我嘗試從Laravel 3升級到4,但我處處得到這個錯誤調用未定義的方法「構建器:: getAfterFilters」升級到Laravel 4
調用未定義的方法 照亮\數據庫\查詢\ Builder :: getAfterFilters()
有人知道這會來嗎?
我嘗試從Laravel 3升級到4,但我處處得到這個錯誤調用未定義的方法「構建器:: getAfterFilters」升級到Laravel 4
調用未定義的方法 照亮\數據庫\查詢\ Builder :: getAfterFilters()
有人知道這會來嗎?
我有這個錯誤太所以我就張貼我的觀察這裏。它總是可以幫助別人!
似乎getAfterFilters()是需要在L4所有控制器的方法。 如果錯誤提示它沒有定義,你可能忘記在你的類中擴展BaseController。
知道了,很明顯的解決將是延長BaseController ...但你不nececarly不得不如果不需要它。 就我而言,我的課必須是一個有效的控制者,因爲一個非常愚蠢的原因。我使用以下路線語法:
Route::get('sse', '[email protected]');
SSE不延長BaseController(並不需要恕我直言) 但是這條路線的語法要求你使用擴展BaseController控制器類...所以我改變了它for:
Route::get('sse', [function() {
SSE::deamon();
}]);
它現在可以正常工作,不會丟失getAfterFilters()錯誤!
好吧,這是一個更可能發生的事情...
你是你的控制器上運行可能不會在路線正確定義的方法......例如,這是我做的自己:
Route::get('vendors/getData', '[email protected]');
Route::resource("vendors","VendorsController");
應該已經
Route::get('vendors/getData', '[email protected]');
Route::resource("vendors","VendorsController");
,而不是!所以基本上Amaur說的是完美的!我的getData函數沒有擴展基礎控制器,因爲我試圖運行模型的功能而不是控制器!你可能想在把頭髮拉出來之前檢查一下!
我有同樣的問題。在routes.php中,我錯過了Controller字。
我的錯誤
路線::得到( '/列表用戶/ {狀態?}/{頁}?', '用戶@ listUsers');
應該
路線::得到( '/列表用戶/ {狀態?}/{頁}?', 'UserController的@ listUsers');
太棒了,是這個! – sergiovilar