src/Entity/App/Product.php line 12

Open in your IDE?
  1. <?php
  2. namespace App\Entity\App;
  3. use App\Entity\Security\Order;
  4. use App\Repository\App\ProductRepository;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\Common\Collections\Collection;
  7. use Doctrine\ORM\Mapping as ORM;
  8. #[ORM\Entity(repositoryClassProductRepository::class)]
  9. class Product
  10. {
  11.     #[ORM\Id]
  12.     #[ORM\GeneratedValue]
  13.     #[ORM\Column]
  14.     private ?int $id null;
  15.     #[ORM\Column(length255)]
  16.     private ?string $title null;
  17.     #[ORM\Column]
  18.     private ?float $price null;
  19.     #[ORM\Column(length255nullabletrue)]
  20.     private ?string $picture null;
  21.     #[ORM\Column(length500nullabletrue)]
  22.     private ?string $description null;
  23.     #[ORM\Column]
  24.     private ?bool $isActive null;
  25.     #[ORM\Column]
  26.     private ?\DateTimeImmutable $createdAt null;
  27.     #[ORM\ManyToMany(targetEntityOrder::class, mappedBy'products')]
  28.     private Collection $orders;
  29.     #[ORM\Column]
  30.     private bool $isCustomizable false;
  31.     public function __construct()
  32.     {
  33.         $this->orders = new ArrayCollection();
  34.     }
  35.     public function getId(): ?int
  36.     {
  37.         return $this->id;
  38.     }
  39.     public function getTitle(): ?string
  40.     {
  41.         return $this->title;
  42.     }
  43.     public function setTitle(string $title): static
  44.     {
  45.         $this->title $title;
  46.         return $this;
  47.     }
  48.     public function getPrice(): ?float
  49.     {
  50.         return $this->price;
  51.     }
  52.     public function setPrice(float $price): static
  53.     {
  54.         $this->price $price;
  55.         return $this;
  56.     }
  57.     public function getPicture(): ?string
  58.     {
  59.         return $this->picture;
  60.     }
  61.     public function setPicture(?string $picture): static
  62.     {
  63.         $this->picture $picture;
  64.         return $this;
  65.     }
  66.     public function getDescription(): ?string
  67.     {
  68.         return $this->description;
  69.     }
  70.     public function setDescription(?string $description): static
  71.     {
  72.         $this->description $description;
  73.         return $this;
  74.     }
  75.     public function isIsActive(): ?bool
  76.     {
  77.         return $this->isActive;
  78.     }
  79.     public function setIsActive(bool $isActive): static
  80.     {
  81.         $this->isActive $isActive;
  82.         return $this;
  83.     }
  84.     public function getCreatedAt(): ?\DateTimeImmutable
  85.     {
  86.         return $this->createdAt;
  87.     }
  88.     public function setCreatedAt(\DateTimeImmutable $createdAt): static
  89.     {
  90.         $this->createdAt $createdAt;
  91.         return $this;
  92.     }
  93.     /**
  94.      * @return Collection<int, Order>
  95.      */
  96.     public function getOrders(): Collection
  97.     {
  98.         return $this->orders;
  99.     }
  100.     public function addOrder(Order $order): static
  101.     {
  102.         if (!$this->orders->contains($order)) {
  103.             $this->orders->add($order);
  104.             $order->addProduct($this);
  105.         }
  106.         return $this;
  107.     }
  108.     public function removeOrder(Order $order): static
  109.     {
  110.         if ($this->orders->removeElement($order)) {
  111.             $order->removeProduct($this);
  112.         }
  113.         return $this;
  114.     }
  115.     public function isCustomizable(): bool
  116.     {
  117.         return $this->isCustomizable;
  118.     }
  119.     public function setIsCustomizable(bool $isCustomizable): self
  120.     {
  121.         $this->isCustomizable $isCustomizable;
  122.         return $this;
  123.     }
  124. }