2014-03-26 37 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');

相关问题