Session cakephp会话中的多个值/数据

Session cakephp会话中的多个值/数据,session,cakephp,cakephp-1.3,Session,Cakephp,Cakephp 1.3,我想在cakephp会话中存储多个值。事实上,我喜欢在会话中存储阵列,以便跟踪用户添加到购物车中的产品。我试图在会话中存储值,如 $return\u data=$this->Product->read(数组('id','prod\u name','prod\u sku','prod\u price'),$pid[0]); $this->Session->write('Cart',$return\u data) 这里发生的事情是,我从数据库中获取特定产品的数据,并将这些信息存储到会话中。上面的代码

我想在cakephp会话中存储多个值。事实上,我喜欢在会话中存储阵列,以便跟踪用户添加到购物车中的产品。我试图在会话中存储值,如

$return\u data=$this->Product->read(数组('id','prod\u name','prod\u sku','prod\u price'),$pid[0]); $this->Session->write('Cart',$return\u data)

这里发生的事情是,我从数据库中获取特定产品的数据,并将这些信息存储到会话中。上面的代码工作正常,但有一个例外,即当一些用户将第二个产品添加到购物车中时,会话会用第二个产品覆盖第一个产品的数据,这是完全错误的。所以现在我需要一种在会话中添加尽可能多的产品而不覆盖其他产品数据的方法

我使用的是CakePHP1.3框架。 windows的WAMP。 PHP版本:5.3.4 MySQL:5.1.53
Apache:2.2.17

您可以尝试以下方法:

$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')));

请注意“Cart”后面的点,它为您提供了数组。

谢谢PawelMysior,您的解决方案对我非常有用。这真的是一个简单而好的解决方案。