前提・実現したいこと
Laravelでsessionに連想配列で保存した値を、キーを指定して更新したい。
発生している問題・エラーメッセージ
php
1Illegal string offset 'item_num'
下記ソースコードの[item_num]をリクエストパラメータの値に更新したいのですが、session()->get()で現在保存されている値は取り出せるのに、
同じ場所に書き込もうとsession()->put()すると上記のエラーが出てしまいます。
get()できるのでput()の構文を間違えている可能性が高そうですが調べてもわかりませんでした。
何が間違っているかわかる方おられませんか?
該当のソースコード
public function cart_ajax_post(Request $request) { // dd($request->number,$request->id); //number:3 id:5 // dd($request->session()->get('selected_items')[$request->id]['item_num']); //4 が表示される $request->session()->put(('selected_items')[$request->id]['item_num'],$request->number); //Illegal string offset 'item_num' return view('customer/cart_ajax'); }
配列の補完構造 dd($request->session())した結果↓
試したこと
調べたところ、配列を文字列として認識されてしまった時にこのエラーが起きるとのことで、宣言時にarray()で初期化してから代入してみましたが結果は変わりませんでした。
補足情報(FW/ツールのバージョンなど)
PHP 7.2
Laravel
GoogleCrome,Safari
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/16 06:32