Laravelで任意の場所(親コントローラー)などで強制リダイレクトする方法。

Laravelで任意の場所(親コントローラー)などで強制リダイレクトする方法。

ふつうのコントローラーだと。アクションで return して上げればリダイレクトできる。

    function restore($request){
        ・
        ・
        return Redirect::route("item.index")->with('message', '登録しました。'); 
    }

ただ、親のコントローラーや別のメソッドからだとできない場合は以下の様にする。

    function hoge(){
        Redirect::route('item.index')->withErrors(['redirect'=>'エラー発生'])->throwResponse();
    }

Redirect(ファザード)の実態は。IlluminateRoutingRedirector で、
route()->withErrors()を実行した戻り値は。IlluminateHttpRedirectResponse
その RedirectResponseクラスのthrowResponse();を実行している流れ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です