🚀
【Laravel6】セッションの値が多重連想配列の時に特定のkeyに対応するvalueを更新する
はじめに
あまりググっても出てこなかった方法なので、残しておきます。
この選択肢があればセッションの扱える幅が広がると思います。
対象のセッション(仮)
例えば
//セッションからkeyが'cartData'の値を取得
$request->session()->get('cartData');
これで取得した値が以下の場合を想定する
[
[0] => [
'item_name' => 'ジャケット',
'item_count' => 1,
],
[1] => [
'item_name' => '靴下',
'item_count' => 3,
],
[2] => [
'item_name' => 'バッグ',
'item_count' => 2,
],
]
実現したいこと
靴下の個数を3 → 5個にしたい!
セッションの特定のkeyに対応するvalueを更新する方法
以下のコードで更新できる
$request->session()->put('cartData.1.item_count', 5);
->put()
の第1引数に連想配列の階層を文字列連結することで特定のkeyのvalueにアクセスすることができる。
※config()
と同じ感じですね
さいごに
ドキュメントにも明確には記載されていなかった...
Discussion