POSTやGETされた内容をそのままリダイレクト先で使用したり、追加やフィルタリングをしたパラメータをリダイレクト先で使用したい場面ってたまにありますよね。

まあ、大体はステークホルダーからの要望によって生じることが多いと思いますが…そんなときには便利な方法が用意されているので活用しましょう。

環境

  • PHP7.4
  • Laravel5.6

Laravel6~8でも同様に可能です。

詳細

Controller内でリダイレクトする想定のコードです。

withメソッドに配列を渡してあげれば好きなパラメータを持たせてリダイレクト可能ですが、Requestクラスのall()メソッドでリクエストパラメータを取り出して渡してあげれば問題ありません。

public function index(Request $request)
{
    return redirect()->with($request->all());
}

このようにredirectする際にメソッドチェーンでwithの引数として渡してあげれば、リダイレクト先で使用することが出来ます。

お疲れ様でした。

おすすめの記事