将数组放入会话symfony2中

时间:2015-06-03 12:12:27

标签: php arrays symfony session symfony-forms

我有以下代码:

 public function addAction(Request $request){
    $aBasket[] = $request->request->all();
    $this->get('session')->set('aBasket', $aBasket);
    return $this->redirect($this->generateUrl('shop_desktop_homepage'));
    print_r($aBasket);
}

工作正常但在会话中仅保存最后一个保存的数组。如何投入会议。例如,数组像这样保存,只保存最后一个:

array:1 [▼
    0 => array:3 [▶]
]

但我想保存:

array:1 [▼
  0 => array:3 [▶]
  1 => array:3 [▶]
  2 => array:3 [▶]
]

不仅是最后一个。 请帮我!! Thx提前。

1 个答案:

答案 0 :(得分:5)

我没有测试过代码。但它会有所帮助。

public function addAction(Request $request){

  $aBasket = $request->request->all();
  // Get Value from session
  $sessionVal = $this->get('session')->get('aBasket');
  // Append value to retrieved array.
  $sessionVal[] = $aBasket;
  // Set value back to session
  $this->get('session')->set('aBasket', $sessionVal);
  return $this->redirect($this->generateUrl('shop_desktop_homepage'));

}

我写了评论。我还没有通过session get方法检查值返回。你需要检查会话get的值返回类型。

希望得到这个帮助。