繁体   English   中英

laravel中的购物车,将产品添加到购物车时出错

[英]Shopping cart in laravel, Error at adding product to cart

我正在创建购物车。 当我尝试将产品添加到购物车时,它显示错误。

我的代码和错误如下。

间接修改重载属性App \\ cart :: $ item在cart.php中无效(第31行)

productcontroller.php包含以下代码:

public function getAddToCart(Request $request, $id){
 $product = Products::findOrFail($id);
 $oldCart = Session::has('cart') ? Session::get('cart') : null;
 $cart = new cart($oldCart);
 $cart->add($product, $product->id);

 $request->session()->put('cart', $cart);
 return redirect('jewellery/items');
}

在cart.php中包含以下代码:

public function add($item, $id){
  $storedItem = ['qty' => 0, 'price' => $item->net_total, 'item' => $item ];
  if($this->items){
   if(array_key_exists($id, $this->items)){
    $storedItem = $this->items[$id];
   }
  }
  $storedItem['qty']++;
  $storedItem['price'] = $item->net_total * $storedItem['qty']; 
  $this->item[$id] = $storedItem;
  $this->totalQty++;
  $this->totalPrice += $item->price;
 }

请帮我解决这个问题。

提前致谢。

您是否在购物车模型中添加了__construct()方法? 如果没有,则将其添加到中,并同时设置items对象,并给出总数量和价格0。这是代码:

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;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM