2011-05-23 43 views
0

我想在cakephp會話中存儲多個值。事實上,我喜歡將數組存儲在會話中,以便跟蹤用戶添加到購物車中的產品。我試圖在會話中存儲值;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框架工作。 WAMP for windows。 PHP版本:5.3.4 MySQL的:53年5月1日 阿帕奇:2.2.17

回答

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

通知 「購物車」 後點,這給你的陣列。

+0

感謝PawelMysior您的解決方案對我來說非常棒。這真的很簡單,很好的解決方案。 – Capri82 2011-05-24 18:17:56