Laravel 5.2:使用多个变量设置和获取会话

时间:2017-04-09 10:54:28

标签: php laravel session laravel-5

我需要设置一个包含多个变量的会话,然后在下一页中重新开始会话。

这里我尝试了

控制器中的

public function postInvoice(Request $request)
    {
        $name = $request->name;
        $email = $request->email;
        $phone = $request->phone;
        $zip = $request->zip;
        $country = $request->country;
        $street_address = $request->street_address;
        $city = $request->city;
        $state = $request->state;

        Session::flash('userInfo', [$name, $email, $phone, $zip, $country, $street_address, $city, $state]);
        return view('portal.cart.standardPayment');
    } 

然后在我的刀片页面中,当我尝试恢复会话时 我试试

{!! Session::get('userInfo', $name) !!}

但得到了

  

未定义的变量:名称

如何从数组中获取会话变量?

2 个答案:

答案 0 :(得分:1)

您正在传递值数组,因此请尝试Session::get('userInfo')[0]get函数第二个参数是默认值

答案 1 :(得分:0)

我知道这个答案来晚了,但是可能会帮助别人。

如果您想在会话中存储数据数组,最简单的方法是:

  1. 使用session()-> push()方法
session()->push('user.first_name', 'John');
  1. 使用session()-> put('array_name',[])
session()->put('names', ['john', 'doe']);

Laravel Sessions Documentation