我尝试从 Laravel 3 升级到 4,但到处都出现此错误
Call to undefined method Illuminate\Database\Query\Builder::getAfterFilters()
有人知道这会发生在哪里吗?
最佳答案
我也遇到了这个错误,所以我将在这里发布我的观察结果。它总是可以帮助某人!
看来 getAfterFilters() 是 L4 中所有 Controller 都需要的方法。 如果错误表明未定义,您可能忘记在类中扩展 BaseController。
知道这一点后,显而易见的解决办法是扩展 BaseController...但如果不需要,则不必这样做。 就我而言,由于一个非常愚蠢的原因,我的类(class)必须是有效的 Controller 。我使用以下路由语法:
Route::get('sse', 'SSE@deamon');
SSE 没有扩展 BaseController(恕我直言,不需要) 但是这个路由语法要求您使用扩展 BaseController 的 Controller 类...所以我将其更改为:
Route::get('sse', [function() {
SSE::deamon();
}]);
现在它可以正常工作,不会出现缺少 getAfterFilters() 错误!
关于laravel-4 - 升级到 Laravel 4 时调用未定义的方法 "Builder::getAfterFilters",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22667511/