Php 从laravel中的一个后缀获取所有会话

Php 从laravel中的一个后缀获取所有会话,php,arrays,laravel,session,Php,Arrays,Laravel,Session,我想创建一个由拉威尔商店网站。现在我想在我的网站上创建购物车页面 我想为每个用户想要购买的产品创建一个会话 并在购物车页面中显示它们 在阵列中保存产品的所有信息。我用这个数组值创建一个会话 像这样的数组和会话 $data=[ “产品”=>$request->input('product'), “数量”=>1, 'price'=>$request->input('price') ]; $request->session()->put('cart.'.$request->input('product

我想创建一个由拉威尔商店网站。现在我想在我的网站上创建购物车页面

我想为每个用户想要购买的产品创建一个会话

并在购物车页面中显示它们

在阵列中保存产品的所有信息。我用这个数组值创建一个会话

像这样的数组和会话

$data=[
“产品”=>$request->input('product'),
“数量”=>1,
'price'=>$request->input('price')
];
$request->session()->put('cart.'.$request->input('product_id'),$data);
您可以看到我为用户选择的每个产品创建了一个会话,会话名称是购物车(产品id)

现在我想在购物车页面中显示所有带有(购物车\后缀)后缀的会话

但我不知道如何用不同的名称和后缀显示每个会话

比如说

用户想要购买三种产品

我创建了三个不同名称但有一个后缀的会话

我想显示用户在购物车页面中选择的所有产品

会议


$data=[
“产品”=>产品测试,
“数量”=>1,
“价格”=>300
];
$request->session()->put('cart_433',$data);
// -------------------
$data=[
“产品”=>产品测试2,
“数量”=>1,
“价格”=>600
];
$request->session()->put('cart_10',$data);
// -----------------------
$data=[
“产品”=>产品测试3,
“数量”=>1,
“价格”=>200
];
$request->session()->put('cart_54',$data);
我想这样表演

产品测试
三百


产品测试2 六百


产品测试3 二百



1100


您可以将购物车的所有产品放在会话的单个变量下

理解Session::put和Session::push之间的区别。 会话::推送附加到现有数据,会话::推送删除现有数据和更新。

$data = array(
        "product" => 1,
        "quantity" => 1,
        "price" => 1
        );

Session::push('cart', $data); //inserting 1st item

$data = array(
   "product" => 2,
   "quantity" => 2,
   "price" => 2
   );

Session::push('cart', $data); //inserting 2nd item

$data= array(
    "product" => 3,
    "quantity" => 3,
    "price" => 3
    );

Session::push('cart', $data);//inserting 3rd item
然后您将获得会话的输出,如下所示

//dd(Session::get('cart'));
array:3 [▼
  0 => array:3 [▼
    "product" => 1
    "quantity" => 1
    "price" => 1
  ]
 1 => array:3 [▼
   "product" => 2
   "quantity" => 2
   "price" => 2
 ]
 2 => array:3 [▼
   "product" => 3
   "quantity" => 3
   "price" => 3
 ]
] 
然后您可以循环到
会话::get('cart')
并根据需要发布结果

仅供参考

foreach(Session::get('cart') as $item)
{
    dump($item['product']);
    dump($item['quantity']);
    dump($item['price']);
}