Как добавить новый массив в глобальный массив сессии в 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]);