会话变量在第二页请求中不可用

时间:2019-06-07 04:37:45

标签: php laravel session

我正在尝试通过会话变量存储预订详细信息。在第一个功能中:

public function hold(Request $request){
         $details = [
                'times' => $arr,
                'subTotal' => $subTotal,
                'tax' => $tax
            ];
            $request->session()->forget('cart');
            $request->session()->put('cart',$details);
}

接下来,它将被发布到同一控制器的另一个功能。到目前为止,可以进行会话。

public function checkout(){
    dd(session()->all());
}

下一条路线在付款控制器上。这是前一个控制器以外的另一个控制器。在这里,会话变量为空。

public function createPayment(){
    dd(session()->all());
}

我在做什么错?如何在此createPayment函数中访问会话?

2 个答案:

答案 0 :(得分:0)

放置默认数组

$request->session()->put($details);

答案 1 :(得分:0)

查看Ohgodwhy条评论后,我重新检查了路线,然后意识到自己之前已经通过api完成了此付款模块。所以,我的错误是路由到api而不是网络。因此,无法检索到API路由的会话变量。

I was using API and web routes so session variable were not available across.