Несколько значений / данных в сеансе cakephp - PullRequest
0 голосов
/ 24 мая 2011

Я хотел бы хранить несколько значений в сессии CakePHP. На самом деле, мне нравится хранить массивы в сеансе, чтобы я мог отслеживать продукты, которые пользователь добавляет в корзину. Я пытаюсь сохранить значения в сессии, как;

$ return_data = $ this-> Product-> read (array ('id', 'prod_name', 'prod_sku', 'prod_price'), $ pid [0]); $ this-> Session-> write ('Корзина', $ return_data);

Что происходит здесь, я получаю данные из базы данных по конкретному продукту и сохраняю эту информацию в сеансе. приведенный выше код работает нормально, но с одним исключением, когда пользователь добавляет 2-й товар в корзину, сессия перезаписывает данные 1-го продукта 2-м продуктом, что совершенно неверно. Так что теперь мне нужен способ добавить столько продуктов в сессию, не перезаписывая данные других продуктов.

Я использую работу с CAKEPHP 1.3. WAMP для окон. Версия PHP: 5.3.4 MySQL: 5.1.53 Апач: 2.2.17

1 Ответ

2 голосов
/ 24 мая 2011

Вы можете попробовать что-то вроде:

$count = count($this->Session->read('Cart')); // count the number of products you already have in the cart
// insert next:
$this->Session->write('Cart.'.$count, $this->Product->findById($pid[0], array('id','prod_name','prod_sku','prod_price')));

Обратите внимание на точку после «Корзина», которая дает вам массив.

...