src/Entity/UnitMeasurement.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\UnitMeasurementRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Gedmo\Blameable\Traits\BlameableEntity;
  8. use Gedmo\Timestampable\Traits\TimestampableEntity;
  9. use Symfony\Component\Serializer\Annotation\Groups;
  10. use Symfony\Component\Validator\Constraints as Assert;
  11. #[ORM\Entity(repositoryClassUnitMeasurementRepository::class)]
  12. class UnitMeasurement
  13. {
  14.     use BlameableEntity//Hook blameable behaviour. Updates createdBy, updatedBy fields
  15.     use TimestampableEntity//Hook timestampable behaviour. Updates createdAt, updatedAt fields 
  16.     
  17.     #[ORM\Id]
  18.     #[ORM\GeneratedValue(strategy"IDENTITY")]
  19.     #[ORM\Column]
  20.     #[Groups("serial")]
  21.     private ?int $id null;
  22.     #[ORM\Column(length255)]
  23.     #[Assert\NotNull()]
  24.     #[Assert\Length(max255)]
  25.     #[Groups("serial")]
  26.     private ?string $name null;
  27.     #[ORM\OneToMany(mappedBy'unitMeasurement'targetEntityProduct::class)]
  28.     private Collection $products;
  29.     #[ORM\OneToMany(mappedBy'unitMeasurement'targetEntityProductUnique::class)]
  30.     private Collection $productUniques;
  31.     public function __construct()
  32.     {
  33.         $this->products = new ArrayCollection();
  34.     }
  35.     public function getId(): ?int
  36.     {
  37.         return $this->id;
  38.     }
  39.     public function getName(): ?string
  40.     {
  41.         return $this->name;
  42.     }
  43.     public function setName(string $name): self
  44.     {
  45.         $this->name $name;
  46.         return $this;
  47.     }
  48.     /**
  49.      * @return Collection<int, Product>
  50.      */
  51.     public function getProducts(): Collection
  52.     {
  53.         return $this->products;
  54.     }
  55.     public function addProduct(Product $product): self
  56.     {
  57.         if (!$this->products->contains($product)) {
  58.             $this->products->add($product);
  59.             $product->setUnitMeasurement($this);
  60.         }
  61.         return $this;
  62.     }
  63.     public function removeProduct(Product $product): self
  64.     {
  65.         if ($this->products->removeElement($product)) {
  66.             // set the owning side to null (unless already changed)
  67.             if ($product->getUnitMeasurement() === $this) {
  68.                 $product->setUnitMeasurement(null);
  69.             }
  70.         }
  71.         return $this;
  72.     }
  73.     /**
  74.      * @return Collection<int, Product>
  75.      */
  76.     public function getProductUniques(): Collection
  77.     {
  78.         return $this->products;
  79.     }
  80.     public function addProductUnique(ProductUnique $productUnique): self
  81.     {
  82.         if (!$this->productUniques->contains($productUnique)) {
  83.             $this->productUniques->add($productUnique);
  84.             $productUnique->setUnitMeasurement($this);
  85.         }
  86.         return $this;
  87.     }
  88.     public function removeProductUnique(ProductUnique $productUnique): self
  89.     {
  90.         if ($this->productUniques->removeElement($productUnique)) {
  91.             // set the owning side to null (unless already changed)
  92.             if ($productUnique->getUnitMeasurement() === $this) {
  93.                 $productUnique->setUnitMeasurement(null);
  94.             }
  95.         }
  96.         return $this;
  97.     }
  98. }