src/Entity/ProductUnique.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\ProductUniqueRepository;
  4. use App\Entity\Brand;
  5. use App\Repository\UnitMeasurementRepository;
  6. use Doctrine\Common\Collections\ArrayCollection;
  7. use Doctrine\Common\Collections\Collection;
  8. use Doctrine\ORM\Mapping as ORM;
  9. use Gedmo\Blameable\Traits\BlameableEntity;
  10. use Gedmo\Timestampable\Traits\TimestampableEntity;
  11. use Symfony\Component\Serializer\Annotation\Groups;
  12. use Symfony\Component\Validator\Constraints as Assert;
  13. #[ORM\Entity(repositoryClassProductUniqueRepository::class)]
  14. class ProductUnique
  15. {
  16.     use BlameableEntity//Hook blameable behaviour. Updates createdBy, updatedBy fields
  17.     use TimestampableEntity//Hook timestampable behaviour. Updates createdAt, updatedAt fields 
  18.     
  19.     #[ORM\Id]
  20.     #[ORM\GeneratedValue(strategy"IDENTITY")]
  21.     #[ORM\Column]
  22.     #[Groups("serial")]
  23.     private ?int $id null;
  24.     #[ORM\Column(length127)]
  25.     #[Assert\NotNull()]
  26.     #[Assert\Length(max127)]
  27.     #[Groups("serial")]
  28.     private ?string $name null;
  29.     #[ORM\OneToMany(mappedBy'productUnique'targetEntityProduct::class)]
  30.     private Collection $products;
  31.     #[ORM\ManyToOne(inversedBy'productUniques')]
  32.     #[ORM\JoinColumn(nullablefalse)]
  33.     private ?Producer $Producer null;
  34.     #[ORM\Column(length50)]
  35.     #[Groups("serial")]
  36.     private ?string $ean null;
  37.     #[ORM\ManyToOne]
  38.     #[ORM\JoinColumn(nullablefalse)]
  39.     #[Groups("serial")]
  40.     private ?Iva $iva null;
  41.     #[ORM\Column]
  42.     #[Groups("serial")]
  43.     private ?bool $onlyAdults false;
  44.     #[ORM\Column(nullabletrue)]
  45.     #[Groups("serial")]
  46.     private ?int $unitsPerBox null;
  47.     #[ORM\ManyToOne(inversedBy'productUniques')]
  48.     #[Groups("serial")]
  49.     #[ORM\JoinColumn(nullablefalse)]
  50.     private ?UnitMeasurement $unitMeasurement;
  51.     #[ORM\Column(nullabletrue)]
  52.     #[Groups("serial")]
  53.     private ?float $weight null;
  54.     #[ORM\Column(nullabletrue)]
  55.     #[Groups("serial")]
  56.     private ?int $width null;
  57.     #[ORM\Column(nullabletrue)]
  58.     #[Groups("serial")]
  59.     private ?int $length null;
  60.     #[ORM\Column(nullabletrue)]
  61.     #[Groups("serial")]
  62.     private ?int $height null;
  63.     #[ORM\Column(nullabletrue)]
  64.     #[Groups("serial")]
  65.     private ?float $volumetricWeight null;
  66.     #[ORM\Column(length20)]
  67.     #[Groups("serial")]
  68.     private ?string $logisticalID null;
  69.     #[ORM\ManyToOne(inversedBy'productUniques'targetEntityBrand::class)]
  70.     #[ORM\JoinColumn(nullablefalse)]
  71.     #[Groups("serial")]
  72.     private ?Brand $brand null;
  73.     #[ORM\ManyToOne(inversedBy'productUniques')]
  74.     #[Groups("serial")]
  75.     private ?Shipping $shipping null;
  76.     public function __construct()
  77.     {
  78.         $this->products = new ArrayCollection();
  79.     }
  80.     public function getId(): ?int
  81.     {
  82.         return $this->id;
  83.     }
  84.     public function getName(): ?string
  85.     {
  86.         return $this->name;
  87.     }
  88.     public function setName(string $name): self
  89.     {
  90.         $this->name $name;
  91.         return $this;
  92.     }
  93.     /**
  94.      * @return Collection<int, Product>
  95.      */
  96.     public function getProducts(): Collection
  97.     {
  98.         return $this->products;
  99.     }
  100.     public function addProduct(Product $product): self
  101.     {
  102.         if (!$this->products->contains($product)) {
  103.             $this->products->add($product);
  104.             $product->setProductUnique($this);
  105.         }
  106.         return $this;
  107.     }
  108.     public function removeProduct(Product $product): self
  109.     {
  110.         if ($this->products->removeElement($product)) {
  111.             // set the owning side to null (unless already changed)
  112.             if ($product->getProductUnique() === $this) {
  113.                 $product->setProductUnique(null);
  114.             }
  115.         }
  116.         return $this;
  117.     }
  118.     public function getProducer(): ?Producer
  119.     {
  120.         return $this->Producer;
  121.     }
  122.     public function setProducer(?Producer $Producer): self
  123.     {
  124.         $this->Producer $Producer;
  125.         return $this;
  126.     }
  127.     public function getEan(): ?string
  128.     {
  129.         return $this->ean;
  130.     }
  131.     public function setEan(string $ean): self
  132.     {
  133.         $this->ean $ean;
  134.         return $this;
  135.     }
  136.     public function getIva(): ?iva
  137.     {
  138.         return $this->iva;
  139.     }
  140.     public function setIva(?iva $iva): self
  141.     {
  142.         $this->iva $iva;
  143.         return $this;
  144.     }
  145.     public function isOnlyAdults(): ?bool
  146.     {
  147.         return $this->onlyAdults;
  148.     }
  149.     public function setOnlyAdults(bool $onlyAdults): self
  150.     {
  151.         $this->onlyAdults $onlyAdults;
  152.         return $this;
  153.     }
  154.     public function getUnitsPerBox(): ?int
  155.     {
  156.         return $this->unitsPerBox;
  157.     }
  158.     public function setUnitsPerBox(?int $unitsPerBox): self
  159.     {
  160.         $this->unitsPerBox $unitsPerBox;
  161.         return $this;
  162.     }
  163.     public function getWeight(): ?float
  164.     {
  165.         return $this->weight;
  166.     }
  167.     public function setWeight(?float $weight): self
  168.     {
  169.         $this->weight $weight;
  170.         return $this;
  171.     }
  172.     public function getWidth(): ?int
  173.     {
  174.         return $this->width;
  175.     }
  176.     public function setWidth(?int $width): self
  177.     {
  178.         $this->width $width;
  179.         return $this;
  180.     }
  181.     public function getLength(): ?int
  182.     {
  183.         return $this->length;
  184.     }
  185.     public function setLength(?int $length): self
  186.     {
  187.         $this->length $length;
  188.         return $this;
  189.     }
  190.     public function getHeight(): ?int
  191.     {
  192.         return $this->height;
  193.     }
  194.     public function setHeight(?int $height): self
  195.     {
  196.         $this->height $height;
  197.         return $this;
  198.     }
  199.     public function getVolumetricWeight(): ?float
  200.     {
  201.         return $this->volumetricWeight;
  202.     }
  203.     public function setVolumetricWeight(?float $volumetricWeight): self
  204.     {
  205.         $this->volumetricWeight $volumetricWeight;
  206.         return $this;
  207.     }
  208.     public function getLogisticalID(): ?string
  209.     {
  210.         return $this->logisticalID;
  211.     }
  212.     public function setLogisticalID(string $logisticalID): self
  213.     {
  214.         $this->logisticalID $logisticalID;
  215.         return $this;
  216.     }
  217.     public function getBrand(): ?Brand
  218.     {
  219.         return $this->brand;
  220.     }
  221.     public function setBrand(?Brand $brand): self
  222.     {
  223.         $this->brand $brand;
  224.         return $this;
  225.     }
  226.     public function getUnitMeasurement(): ?UnitMeasurement
  227.     {
  228.         return $this->unitMeasurement;
  229.     }
  230.     public function setUnitMeasurement(?UnitMeasurement $unitMeasurement): self
  231.     {
  232.         $this->unitMeasurement $unitMeasurement;
  233.         return $this;
  234.     }
  235.     public function getShipping(): ?Shipping
  236.     {
  237.         return $this->shipping;
  238.     }
  239.     public function setShipping(?Shipping $shipping): self
  240.     {
  241.         $this->shipping $shipping;
  242.         return $this;
  243.     }
  244. }