src/MDS/AvexpressBundle/Entity/AveProduct.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\MDS\AvexpressBundle\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. /**
  7.  * AveProduct
  8.  *
  9.  * @ORM\Table(name="ave_product")
  10.  * @ORM\Entity(repositoryClass="App\MDS\AvexpressBundle\Repository\AveProductRepository")
  11.  */
  12. class AveProduct
  13. {
  14.     /**
  15.      * @var int
  16.      *
  17.      * @ORM\Column(name="id", type="integer")
  18.      * @ORM\Id
  19.      * @ORM\GeneratedValue(strategy="AUTO")
  20.      */
  21.     private $id;
  22.     /**
  23.      * @var string
  24.      *
  25.      * @ORM\Column(name="name", type="string", length=550)
  26.      */
  27.     private $name;
  28.     /**
  29.      * @var string
  30.      *
  31.      * @ORM\Column(name="price", type="string", length=255)
  32.      */
  33.     private $price;
  34.     /**
  35.      * @var string
  36.      *
  37.      * @ORM\Column(name="type", type="string", length=255)
  38.      */
  39.     private $type;
  40.     /**
  41.      * @var string
  42.      *
  43.      * @ORM\Column(name="description", type="text", nullable=true)
  44.      */
  45.     private $description;
  46.     /**
  47.      * @var \DateTime
  48.      *
  49.      * @ORM\Column(name="createdAt", type="datetime")
  50.      */
  51.     private $createdAt;
  52.     /**
  53.      * @var string
  54.      *
  55.      * @ORM\Column(name="createdId", type="string", length=255)
  56.      */
  57.     private $createdId;
  58.     /**
  59.      * @var \DateTime
  60.      *
  61.      * @ORM\Column(name="updatedAt", type="datetime")
  62.      */
  63.     private $updatedAt;
  64.     /**
  65.      * @var string
  66.      *
  67.      * @ORM\Column(name="updatedId", type="string", length=255)
  68.      */
  69.     private $updatedId;
  70.     /**
  71.      * @var string
  72.      *
  73.      * @ORM\Column(name="supplierExt", type="string", nullable=true)
  74.      */
  75.     private $supplierExt;
  76.     /**
  77.      * @var int
  78.      *
  79.      * @ORM\Column(name="supplierExtId", type="integer", nullable=true)
  80.      */
  81.     private $supplierExtId;
  82.     /**
  83.      * @ORM\ManyToMany(targetEntity="App\MDS\AvexpressBundle\Entity\AvePackageTemplate", inversedBy="products")
  84.      * @ORM\JoinTable(name="ave_product_package")
  85.      */
  86.     private Collection $packages;
  87.     public function __construct()
  88.     {
  89.         $this->packages = new ArrayCollection();
  90.     }
  91.     /**
  92.      * Get id
  93.      *
  94.      * @return int
  95.      */
  96.     public function getId()
  97.     {
  98.         return $this->id;
  99.     }
  100.     /**
  101.      * Set name
  102.      *
  103.      * @param string $name
  104.      *
  105.      * @return AveProduct
  106.      */
  107.     public function setName($name)
  108.     {
  109.         $this->name $name;
  110.         return $this;
  111.     }
  112.     /**
  113.      * Get name
  114.      *
  115.      * @return string
  116.      */
  117.     public function getName()
  118.     {
  119.         return $this->name;
  120.     }
  121.     /**
  122.      * Set price
  123.      *
  124.      * @param string $price
  125.      *
  126.      * @return AveProduct
  127.      */
  128.     public function setPrice($price)
  129.     {
  130.         $this->price $price;
  131.         return $this;
  132.     }
  133.     /**
  134.      * Get price
  135.      *
  136.      * @return string
  137.      */
  138.     public function getPrice()
  139.     {
  140.         return $this->price;
  141.     }
  142.     /**
  143.      * Set type
  144.      *
  145.      * @param string $type
  146.      *
  147.      * @return AveProduct
  148.      */
  149.     public function setType($type)
  150.     {
  151.         $this->type $type;
  152.         return $this;
  153.     }
  154.     /**
  155.      * Get type
  156.      *
  157.      * @return string
  158.      */
  159.     public function getType()
  160.     {
  161.         return $this->type;
  162.     }
  163.     /**
  164.      * Set description
  165.      *
  166.      * @param string $description
  167.      *
  168.      * @return AveProduct
  169.      */
  170.     public function setDescription($description)
  171.     {
  172.         $this->description $description;
  173.         return $this;
  174.     }
  175.     /**
  176.      * Get description
  177.      *
  178.      * @return string
  179.      */
  180.     public function getDescription()
  181.     {
  182.         return $this->description;
  183.     }
  184.     /**
  185.      * Set createdAt
  186.      *
  187.      * @param \DateTime $createdAt
  188.      *
  189.      * @return AveProduct
  190.      */
  191.     public function setCreatedAt($createdAt)
  192.     {
  193.         $this->createdAt $createdAt;
  194.         return $this;
  195.     }
  196.     /**
  197.      * Get createdAt
  198.      *
  199.      * @return \DateTime
  200.      */
  201.     public function getCreatedAt()
  202.     {
  203.         return $this->createdAt;
  204.     }
  205.     /**
  206.      * Set createdId
  207.      *
  208.      * @param string $createdId
  209.      *
  210.      * @return AveProduct
  211.      */
  212.     public function setCreatedId($createdId)
  213.     {
  214.         $this->createdId $createdId;
  215.         return $this;
  216.     }
  217.     /**
  218.      * Get createdId
  219.      *
  220.      * @return string
  221.      */
  222.     public function getCreatedId()
  223.     {
  224.         return $this->createdId;
  225.     }
  226.     /**
  227.      * Set updatedAt
  228.      *
  229.      * @param \DateTime $updatedAt
  230.      *
  231.      * @return AveProduct
  232.      */
  233.     public function setUpdatedAt($updatedAt)
  234.     {
  235.         $this->updatedAt $updatedAt;
  236.         return $this;
  237.     }
  238.     /**
  239.      * Get updatedAt
  240.      *
  241.      * @return \DateTime
  242.      */
  243.     public function getUpdatedAt()
  244.     {
  245.         return $this->updatedAt;
  246.     }
  247.     /**
  248.      * Set updatedId
  249.      *
  250.      * @param string $updatedId
  251.      *
  252.      * @return AveProduct
  253.      */
  254.     public function setUpdatedId($updatedId)
  255.     {
  256.         $this->updatedId $updatedId;
  257.         return $this;
  258.     }
  259.     /**
  260.      * Get updatedId
  261.      *
  262.      * @return string
  263.      */
  264.     public function getUpdatedId()
  265.     {
  266.         return $this->updatedId;
  267.     }
  268.     /**
  269.      * Set supplierExt
  270.      *
  271.      * @param string $supplierExt
  272.      *
  273.      * @return AveProduct
  274.      */
  275.     public function setSupplierExt($supplierExt)
  276.     {
  277.         $this->supplierExt $supplierExt;
  278.         return $this;
  279.     }
  280.     /**
  281.      * Get supplierExt
  282.      *
  283.      * @return string
  284.      */
  285.     public function getSupplierExt()
  286.     {
  287.         return $this->supplierExt;
  288.     }
  289.     /**
  290.      * Set supplierExtId
  291.      *
  292.      * @param integer $supplierExtId
  293.      *
  294.      * @return AveProduct
  295.      */
  296.     public function setSupplierExtId($supplierExtId)
  297.     {
  298.         $this->supplierExtId $supplierExtId;
  299.         return $this;
  300.     }
  301.     /**
  302.      * Get supplierExtId
  303.      *
  304.      * @return integer
  305.      */
  306.     public function getSupplierExtId()
  307.     {
  308.         return $this->supplierExtId;
  309.     }
  310.     /**
  311.      * @return Collection<int, AvePackageTemplate>
  312.      */
  313.     public function getPackages(): Collection
  314.     {
  315.         return $this->packages;
  316.     }
  317.     public function addPackage(AvePackageTemplate $package): self
  318.     {
  319.         if (!$this->packages->contains($package)) {
  320.             $this->packages->add($package);
  321.             // Sincronizamos el lado inverso de la relación
  322.             $package->addProduct($this);
  323.         }
  324.         return $this;
  325.     }
  326.     public function removePackage(AvePackageTemplate $package): self
  327.     {
  328.         if ($this->packages->removeElement($package)) {
  329.             $package->removeProduct($this);
  330.         }
  331.         return $this;
  332.     }
  333. }