我有以下代码:
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提前。
答案 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的值返回类型。
希望得到这个帮助。