在会话变量laravel

时间:2017-04-29 08:18:54

标签: php laravel session-variables cart

实际上,我正在创建一个购物车。我需要在会话中存储 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)

但是,通过这种方式我无法存储数量。我认为将关联数组存储到会话中可以解决我的问题。

那么,我该怎么做?

2 个答案:

答案 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()帮手,它可以是一个全球性的辅助,以及