Как добавить новый массив в глобальный массив сессии в Laravel?

Я хочу добавить новые массивы в глобальный массив сессии в laravel 5.6

Глобальная сессия cart, Я хочу добавить элементы в этот массив.

Я пытаюсь это:

в первый раз:

$item = ['key' => 'val1'];

session()->push('cart', $item);
dd(session()->get('cart'));

Оно работает:

array:1 [▼
  0 => array:1 [▼
    "key" => "val1"
  ]
]

Теперь я меняю $item = ['key' => 'val1']; в $item = ['key' => 'val2']; и обновите страницу снова.

но это удалить "key" => "val1" и верните это:

array:1 [▼
      0 => array:1 [▼
        "key" => "val2"
      ]
    ]

в чем моя проблема?

1 ответ

Так что здесь все правильно. Сначала вы добавляете val1 под key, Хранится на СЕССИИ. Далее вы заменяете val1 с val2, Вы можете добавить val2 под key2или используйте точечную запись:

session()->push('cart.key', `val1`);
session()->push('cart.key', `val2`);
dd(session()->get('cart'));

Для получения дополнительной информации https://laravel.com/docs/7.x/helpers#method-session

session()->get('key');

session()->put('key', $value);

session(['chairs' => 7, 'instruments' => 3]);
Другие вопросы по тегам