[PHP][Laravel] リダイレクトバック(redirect()->back())でのURLクエリパラメータ対応
バージョン
Laravel 5.7
概要
前の画面でURLクエリパラメータが指定されており、
その画面にリダイレクト バックした際にクエリパラメータを渡したい。
下記2タイプのどちらかで対応はできたが、単純にredirect()->back()で対応する方法が
見つからなかったので知ってたら教えてください!!
対応方法1
redirect()->back()は諦めて前のURLを取得する。
■Controller
// 前画面のURLを取得 $previousUrl = app('url')->previous(); return redirect()->to($previousUrl.'?'. http_build_query(['id'=>$params['data_id']]))->withInput();
redirect()->to()で対応する。
対応方法2
withでセッションとして渡す。
■Controller
// redirectするコントローラ public function postForm(FormRequest $request) { return redirect()->back()->withInput()->with('dataId', $dataId); } // 戻る画面のコントローラ public function showForm(Request $request) { if(isset(session('dataId')){ $id = session('dataId'); } else { $id = $request->input('id'); } }
セッションにあればセッションから、なけばクエリパラメータから取得している。
- 作者: 掌田津耶乃
- 出版社/メーカー: 秀和システム
- 発売日: 2017/09/16
- メディア: 単行本
- この商品を含むブログを見る