在cakephp会话中有多个值/数据

时间:2011-05-23 22:39:02

标签: session cakephp cakephp-1.3

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

$ return_data = $ this-> Product-> read(array('id','prod_name','prod_sku','prod_price'),$ pid [0]); $ this-> Session-> write('Cart',$ return_data);

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

我正在使用CAKEPHP 1.3框架工作。 Windows的WAMP。 PHP版本:5.3.4 MySQL:5.1.53 Apache:2.2.17

1 个答案:

答案 0 :(得分:2)

您可以尝试以下方式:

$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”之后的点,它为您提供数组。