Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

função update

$
0
0
Ainda continuando com a mesma app....

No carrinho de compras o que queria fazer é o seguinte, na lista de produtos selecciona-se um produto e faz-se adicionar. Até aqui tudo bem, quando tento adicionar mais que um produto da mesma coisa deveria ser incrementado, mas não é.

atualmente é isto que tenho
Código (PHP):
<?php
  namespace Cart\Basket;

use Cart\Models\Product;
  use Cart\Support\Storage\Contracts\StorageInterface;
  use Cart\Basket\Exceptions\QuantityExceededException;

class Basket {
        protected $storage;
        protected $product;
        public function __construct(StorageInterface $storage, Product $product) {
          $this->storage = $storage;
          $this->product = $product;
        }
       
public function add(Product $product, $quantity) {
          if ($this->has($product)) {
                $quantity = $this->get($product)['quantity'] + $quantity;
          }
          $this->update($product, $quantity);
        }
       
public function update(Product $product, $quantity) {
          if (!$this->product->find($product->id)->hasStock($quantity)) {
                throw new QuantityExceededException;
          }
          if ($quantity === 0) {
                $this->remove($product);
                return;
          }
          $this->storage->set($product->id, [
                'product_id' => (int) $product->id,
                'quantity' => (int) $quantity,
          ]);
        }

Viewing all articles
Browse latest Browse all 14700