我尝试从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