实际上,我正在创建一个购物车。我需要在会话中存储 product_id 和数量,以便我可以将其检索到购物车页面。
目前,我正在使用push方法 -
为会话变量添加值$request->session()->push('order.products', $request->product_id);
它将数据存储在此结构中 -
array (size=1)
'products' =>
array (size=2)
0 => string '11' (length=2)
1 => string '9' (length=1)
但是,通过这种方式我无法存储数量。我认为将关联数组存储到会话中可以解决我的问题。
那么,我该怎么做?
答案 0 :(得分:0)
请试试。
// store data in session.
$request->session()->push('productsid', ['order.products'=>$request->product_id]);
// then get session data here.
$array = Session::get('productsid');
答案 1 :(得分:0)
在Laravel didnt提供此功能,但你可以实现你想要的功能中的内容:
/**
* this method will append new values to session stored array,
*
* This method functionality has advantage over Laravel's session()->push is:
* it can accept an associate array as well as normal array
*
* @param string $session_key the session key which associated with The 'Array'
* @param array $appendingArray The array which will be append to existing session-stored array
* @return void
*/
private static function session_append($session_key, $appendingArray)
{
session()->put($session_key, array_merge(
session()->get($session_key),
$appendingArray
));
}
和,只要它取决于session()
帮手,它可以是一个全球性的辅助,以及