大家好,当我尝试将它们用于购物车时,我对 php 中的会话有疑问我用下面的代码解释
class Cart
{
public $items;
public $totalQty=0;
public $totalPrice=0;
public function __construct($oldcart)
{
if ($oldcart){
$this->items=$oldcart->items;
$this->totalQty=$oldcart->totalQty;
$this->totalPrice=$oldcart->totalPrice;
}
}
public function add($item , $id){
$storeditem=['qty'=>0,'price'=>$item->price,'item'=>$item];
if ($this->items) {
if (array_key_exists($id, $this->items)) {
$storeditem = $this->items[$id];
}}
$storeditem['qty']++;
$storeditem['price']=$item->price*$storeditem['qty'];
$this->items[$id]=$storeditem;
$this->totalQty++;
$this->totalPrice+=$item->price;
}}
这是将商品添加到 shopping_cart 的简单类我像这样使用它
public function getAddToCart(Request $request, $id)
{
//
$product=Product::find($id);
$oldcart=Session::has('Shopcart')? Session::get('Shopcart'): null;
$cart=new Cart($oldcart);
$cart->add($product,$product->id);
$request->session()->put('Shopcart', $cart);
return redirect()->route('shop.index');
}
有了这两部分,我可以将项目添加到会话中
<span id="cart-total">{{ Session::has('Shopcart')? Session::get('Shopcart')->totalQty : ''}}</span>
我在这里看不到任何东西是什么问题我看不到我还在控制器中添加了 Session 类并且路由也可以
守候你守候我