Возникли проблемы при удалении элемента массива в сеансе symfony 3.4. * - PullRequest
0 голосов
/ 06 февраля 2020

Для управления собственной корзиной я создал классы Cart, CartItem и CartController для управления Предметами.
Корзина клиента выглядит примерно так (массив CartItem Object, на изображении ниже)

Массив корзины в хранилище сеансов

Cart array on session storage

И у меня возникли некоторые проблемы при использовании этой функции:

key = "_cart" , id = an unique identifier for CartItem
$this->session->remove($this->key . '/' . $id);

Проблема: когда Я использую функцию, она преобразует данные _cart в объект, подобный этому:

this.

ДЛЯ РЕЗЮМЕ: Данные корзины были преобразованы в объект

{1:{CartItem1},2:{CartItem2}}

вместо ожидаемого массива, такого как

[CartItem1,CartItem2]

(например, для JSON подобного представления.) Это происходит, особенно когда я удаляю элементы, которые не находятся в конце. Сохраняет формат массива.

Что не так?

1 Ответ

0 голосов
/ 06 февраля 2020

Метод забудьте удалит часть данных из сеанса. Если вы хотите удалить все данные из сеанса, вы можете использовать метод flu sh:

$value = $request->session()->pull('id');

ИЛИ

$request->session()->forget('key');

Подробнее: https://laravel.com/docs/5.3/session#deleting - данные

...