Я пытаюсь сохранить массив значений в переменной сеанса.
Поэтому, когда я пытаюсь добавить переменную, я просто делаю:
$request->session()->push('some.array', $id);
Когда я пытаюсь вытащить его, я делаю:
$request->session()->pull('some.array', $id);
Я могу добавить столько элементов, используя метод push, но когда я попытаюсь вытащить его, он удалит весь массив. Как обойти эту проблему. Как удалить только элемент с определенным идентификатором?
Если вы внимательно посмотрите на документы, вы увидите, что
$request->session()->push('some.array', $id);
если на самом деле создание суб массива на сессии под названием [массив] поэтому, когда вы pull
с помощью
$request->session()->pull('some.array');
вы на самом деле инструктируете laravel для удаления всего массива.
Поэтому, чтобы просто удалить только одного члена some.array
вам придется
print_r( $request->session()->all() );
$tarray = $request->session()->pull('some.array');
unset( $tarray['an_item'] );
$request->session()->push('some.array', $tarray);
print_r( $request->session()->all() );