13
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Laravel6】セッションの値が多重連想配列の時に特定のkeyに対応するvalueを更新する方法

Last updated at Posted at 2021-01-19

はじめに

あまりググっても出てこなかった方法なので、残しておきます。
この選択肢があればセッションの扱える幅が広がると思います。

対象のセッション(仮)

例えば

//セッションから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()と同じ感じですね

さいごに

ドキュメントにも明確には記載されていなかった...

Laravel 6.x HTTPセッション

13
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?