在cakephp会话中有多个值

时间:2014-01-27 08:41:16

标签: cakephp

我想在cakephp会话中存储多个值,其中一些值来自数据库,一些来自手动

我在控制器中创建了一个会话,就像这样。

 $this->Session->write('Cart.'.$count,$this->Product->findById($id[0], array('id','category','name','price'))); //controller 

我已在视图页面

中编写了此代码
 foreach( $this -> Session -> read(Cart) as $value)
 {
      echo $value['Product']['id'];
      echo $value['Product']['category'];
      echo $value['Product']['name'];
      echo $value['Product']['price'];
 }

通过使用此行,我可以打印从会话中的数据库存储的所有信息ID,类别,名称,价格

但是我想再添加一个$ quantity的变量,它将手动不来自数据库,所以如何在会话中添加此字段以及如何打印它。

提前致谢

1 个答案:

答案 0 :(得分:1)

当您编写会话时,请执行以下操作:

  $sessionInfo = $this->Product->findById($id[0], array('id','category','name','price'));
  foreach($sessionInfo as $key=>$value){
    $sessionInfo[$key]['Product']['quantity'] = $count;
  }
  $this->Session->write('Cart',$sessionInfo); //controller   

查看会话数据:

foreach( $this->Session->read('Cart') as $value)
     {
          echo $value['Product']['id'];
          echo $value['Product']['category'];
          echo $value['Product']['name'];
          echo $value['Product']['price'];
          echo $value['Product']['quantity'];
     }