前提・実現したいこと
Laravelでログイン処理をするときに、その前のページで取得したrequestのデータを、ログイン後の画面まで引き継ぎたいです。
具体的な処理としては、
【どの商品をカートに入れたかを、ログイン後の画面まで受け継ぎたい】
①商品一覧ページから「カートに追加する」をクリック
②カートコントローラーで、ゲストの場合、authに流す(下記コード1参照)
③ログインコントローラーで、requestを受け取る(下記コード2参照)
④ログイン画面の、ログインフォームにhiddenでrequestを受け取り、さらに次に流す
⑤ログイン後の画面で、受け取ったrequestを表示
該当のソースコード
*1【カートコントローラー】
php
1public function __construct() { 2 $this->middleware('auth')->except(['index', 'show']); 3 }
*2【ログインコントローラー】
php
1protected function authenticated(\Illuminate\Http\Request $request, $item_id) 2 { 3 if (Request::has('item_id')) { 4 $item_id = Request::input('item_id'); 5 } else { 6 $item_id = 'エラー'; 7 } 8 return view('address', compact('item_id')); 9 }
試したこと
まず、ログイン画面にrequestデータを受け継ぐ方法がわかりませんでした。
authenticatedというのをオーバーライドして、ログイン後の処理をかけるとの記事を見たので試みましたが、結果として、ログイン後の画面では$item_idは存在しませんでした。(”エラー”も表示されず、そもそも定義されていませんでした)
補足情報(FW/ツールのバージョンなど)
Laravel5.5
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。