src/Entity/Product/Product.php line 15

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Entity\Product;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Sylius\Component\Core\Model\Product as BaseProduct;
  6. use Sylius\Component\Product\Model\ProductTranslationInterface;
  7. /**
  8.  * @ORM\Entity
  9.  * @ORM\Table(name="sylius_product")
  10.  */
  11. class Product extends BaseProduct
  12. {
  13.     protected function createTranslation(): ProductTranslationInterface
  14.     {
  15.         return new ProductTranslation();
  16.     }
  17.     public function getImageByExternalId(int $id): ?ProductImage
  18.     {
  19.         return $this->images->filter(function (ProductImage $image) use ($id): bool {
  20.             return $id === $image->getExternalId();
  21.         })->first()?:null;
  22.     }
  23.     /**
  24.      * @ORM\Column(type="string", length=255, nullable=true)
  25.      */
  26.     private $model;
  27.     public function getModel(): ?string
  28.     {
  29.         return $this->model;
  30.     }
  31.     public function setModel(?string $model): self
  32.     {
  33.         $this->model $model;
  34.         return $this;
  35.     }
  36.     public function getOnHand(): int
  37.     {
  38.         $onHand 0;
  39.         foreach ($this->getEnabledVariants() as $enabledVariant) {
  40.             $onHand += $enabledVariant->getOnHand();
  41.         }
  42.         return $onHand;
  43.     }
  44. }