Arrays 如何在laravel中设置数组并将其放入cookie中

Arrays 如何在laravel中设置数组并将其放入cookie中,arrays,laravel,cookies,Arrays,Laravel,Cookies,在这里,我尝试使用Laravel6设置并获取数组cookie,所以在这里,我尝试以下代码 此函数用于设置cookie public function booking(Request $request) { $data = [ 'name_package'=>$request->name_package, 'price'=>$request->price, ]; $arr

在这里,我尝试使用Laravel6设置并获取数组cookie,所以在这里,我尝试以下代码

此函数用于设置cookie

public function booking(Request $request)
    {
        $data = [
            'name_package'=>$request->name_package,
            'price'=>$request->price,
        ];
        $array_json=json_encode($data);

        return redirect('/checkout')->withCookie(cookie()->forever( 'data',$array_json, 2880));
    }  
public function checkout(){
        $data=\Cookie::get('data');
        $data=json_decode($data);

        return view('home/checkout')->with('data', $data);;
    }
这里是获取cookie的函数

public function booking(Request $request)
    {
        $data = [
            'name_package'=>$request->name_package,
            'price'=>$request->price,
        ];
        $array_json=json_encode($data);

        return redirect('/checkout')->withCookie(cookie()->forever( 'data',$array_json, 2880));
    }  
public function checkout(){
        $data=\Cookie::get('data');
        $data=json_decode($data);

        return view('home/checkout')->with('data', $data);;
    }
在我的刀片中,我尝试像这样获取$数据

但我在尝试获取非对象的属性“name\u package”时出错


请帮助我更正此错误

我认为问题不在cookie中,而是在foreach循环中的blade文件中

您的数组名是
$data
,别名是
$data
,因此这是相同的

foreach($data as $data)
将其替换为其他名称,如下所示

@foreach($data as $d)
    {{ $d->name_package ?? '' }}
@endforeach

我认为问题不在于cookie,而在于foreach循环中的blade文件

您的数组名是
$data
,别名是
$data
,因此这是相同的

foreach($data as $data)
将其替换为其他名称,如下所示

@foreach($data as $d)
    {{ $d->name_package ?? '' }}
@endforeach

我已将$data更改为$d并放入???”在echo中,但没有数据显示Debug it值存在于
$request->name_package
?好的,我的工作,先生,现在我有问题,我的输入值为空,我使用ajax设置输入值,例如,如果我更改或选择选择选项,将设置输入价格的值。但是,当我试图发布该表单时,该值为空。请尝试将此$d->name\u包转换为$d['name\u package'],然后进行解码,您将获得数组而不是对象,以便通过[]可以访问value@KamleshPaul他使用了
json\u解码($data)json_解码($data,true)然后它将返回一个数组。我已将$data更改为$d并将其放入???”在echo中,但没有数据显示Debug it值存在于
$request->name_package
?好的,我的工作,先生,现在我有问题,我的输入值为空,我使用ajax设置输入值,例如,如果我更改或选择选择选项,将设置输入价格的值。但是,当我试图发布该表单时,该值为空。请尝试将此$d->name\u包转换为$d['name\u package'],然后进行解码,您将获得数组而不是对象,以便通过[]可以访问value@KamleshPaul他使用了
json\u解码($data)json_解码($data,true)然后它将返回一个数组。这是否回答了您的问题?这回答了你的问题吗?