重定向到控制器操作,未定义操作

时间:2018-01-01 09:55:08

标签: php laravel laravel-5

我使用的是Laravel 5.5。

我的目标是在同一个控制器上重定向到另一个方法,以显示包含数据的视图。

class SeancesController extends Controller {

     ...

     public function getRecommandations(Request $request) {

          ...

          $data = [
               'recommandationAutresActiviteMemeDateHeure' => $recommandationAutresActiviteMemeDateHeure,
               'recommandationsMemeActiviteMemeHeure'      => $recommandationsMemeActiviteMemeHeure,
               'recommandationsMemeActiviteMemeDate'       => $recommandationsMemeActiviteMemeDate
          ];

          return redirect()->action('SeancesController@showRecommandations', $data);
     }

     public function showRecommandations(Request $request) {
          return view('listeRecommandations', $request->data);
     }
}

这是正确的方法吗?因为我收到了这个错误:

  

InvalidArgumentException:未定义操作App \ Http \ Controllers \ SeancesController @ showRecommandations。在第338行的/home/nicolas/public_html/M1_CSI/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php文件中

我需要使用action因为我使用ajax调用来访问getRecommandations()

我使用了这个文档:http://laraveldaily.com/all-about-redirects-in-laravel-5/

我没有在路由文件中添加指向showRecommendations的路由。这是一个问题吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

  

我没有在路由文件中添加指向showRecommendations的路由。这是一个问题?

是的,这是一个问题。因为重定向器会检查分配给操作的路由,并将用户重定向到路由。