src/Entity/Category.php line 48

Open in your IDE?
  1. <?php
  2. /**
  3.  * Product class represents model of Category entity
  4.  *
  5.  * $Project: Alliancemarkets2 $
  6.  * $Id$
  7.  *
  8.  * @package alliancemarkets2
  9.  * @author George Matyas <webexciter@yahoo.com>
  10.  * @version $Revision$
  11.  */
  12. // src/AppBundle/Entity/Category.php
  13. namespace App\Entity;
  14. use Doctrine\Common\Collections\ArrayCollection;
  15. use Doctrine\Common\Collections\Collection;
  16. use Doctrine\DBAL\Types\Types;
  17. /*
  18. use Gedmo\Mapping\Annotation\Tree; 
  19. */
  20. use Doctrine\ORM\Mapping as ORM;
  21. use Gedmo\Mapping\Annotation as Gedmo;
  22. use Gedmo\Translatable\Translatable;
  23. use App\Entity\Eshop;
  24. /*
  25. @Gedmo\Mapping\Annotation\Tree(type="nested")
  26. @Doctrine\ORM\Mapping\Entity(repositoryClass="Gedmo\Tree\Entity\Repository\NestedTreeRepository")
  27. ORM\Entity(repositoryClass="App\EntityRepo\CategoryRepo")
  28. */
  29. /**
  30.  * 
  31.  * 
  32.  * 
  33.  * @ORM\Entity(repositoryClass="Gedmo\Tree\Entity\Repository\NestedTreeRepository")
  34.  * @ORM\Table(name="category")
  35.  * @Gedmo\TranslationEntity(class="App\Entity\CategoryTranslation")
  36.  * @Gedmo\Tree(type="nested")
  37.  * 
  38.  * Doctrine\ORM\Mapping\Entity(repositoryClass="Gedmo\Tree\Entity\Repository\NestedTreeRepository")
  39.  * 
  40.  */
  41. class Category implements Translatable
  42. {
  43.     /**
  44.      * @ORM\Column(type="integer")
  45.      * @ORM\Id
  46.      * @ORM\GeneratedValue(strategy="AUTO")
  47.      */ 
  48.     private $categoryId=0;
  49.     /**
  50.      * @ORM\Column(type="string", length=255, nullable=true)
  51.      */
  52.     protected $categoryKey;
  53.     
  54.     /**
  55.      * @Gedmo\Translatable
  56.      * @ORM\Column(type="string", length=100, nullable=true)
  57.      */
  58.     protected $categoryName;
  59.     /**
  60.      * @Gedmo\Translatable
  61.      * @ORM\Column(type="text", nullable=true)
  62.      */
  63.     protected $categoryDescription;    
  64.     
  65.     /**
  66.      * Post locale
  67.      * Used locale to override Translation listener's locale
  68.      *
  69.      * @Gedmo\Locale
  70.      *
  71.      */
  72.     protected $locale;
  73.     
  74.     /**
  75.      * Assert\Image( maxSize = "3072k", mimeTypesMessage = "Please upload a valid Image")
  76.      *
  77.      * @ORM\Column(type="string", length=255, nullable=true)
  78.      */
  79.     protected $image1;    
  80.     
  81.     
  82.     /*
  83.      * Many Products have Many Prices.
  84.      * @ORM\ManyToMany(targetEntity="Price")
  85.      * @ORM\JoinTable(name="product_price",
  86.      *      joinColumns={@ORM\JoinColumn(name="product_id", referencedColumnName="product_id")},
  87.      *      inverseJoinColumns={@ORM\JoinColumn(name="price_id", referencedColumnName="price_id", unique=false)}
  88.      *      )
  89.      */    
  90.     
  91.     
  92.     /*
  93.      * Doctrine\ORM\Mapping\ManyToOne(targetEntity="Category")
  94.      * Doctrine\ORM\Mapping\JoinColumn(name="parent_id", referencedColumnName="id", onDelete="CASCADE")
  95.      * 
  96.      * @Gedmo\TreeParent
  97.      * @Doctrine\ORM\Mapping\ManyToOne(targetEntity="Category")
  98.      * @Doctrine\ORM\Mapping\JoinColumn(name="parent", referencedColumnName="parent", onDelete="CASCADE")
  99.      * 
  100.      * @Gedmo\TreeParent
  101.      * @ORM\ManyToMany(targetEntity="Category")
  102.      * @ORM\JoinTable(name="category_category",
  103.      *      joinColumns={@ORM\JoinColumn(name="category_id", referencedColumnName="category_id")},
  104.      *      inverseJoinColumns={@ORM\JoinColumn(name="parent_id", referencedColumnName="parent_id", unique=false)}
  105.      *      ) 
  106.      */
  107.     
  108.     /* 
  109.      * @Gedmo\TreeParent
  110.      * @ORM\ManyToOne(targetEntity="Category", inversedBy="children")
  111.      * @ORM\JoinColumn(name="parent_id", referencedColumnName="category_id", onDelete="SET NULL")
  112.      * 
  113.      */ 
  114.    
  115.     /**
  116.      * @Gedmo\TreeRoot
  117.      * @ORM\ManyToOne(targetEntity="Category")
  118.      * @ORM\JoinColumn(referencedColumnName="category_id", onDelete="CASCADE")
  119.      */
  120.     protected $root;    
  121.     
  122.     /**
  123.      * @Gedmo\TreeParent
  124.      * @ORM\ManyToOne(targetEntity="Category", inversedBy="children")
  125.      * @ORM\JoinColumn(name="parent_id", referencedColumnName="category_id", onDelete="SET NULL")    
  126.      */    
  127.     protected $parent
  128.     
  129.     /*
  130.      * @ORM\OneToMany(targetEntity="Category", mappedBy="parent")
  131.      */
  132.     
  133.     /**
  134.      * @ORM\OneToMany(targetEntity="Category", mappedBy="parent")
  135.      * @ORM\OrderBy({"lft" = "ASC"})
  136.      */    
  137.     protected $children;    
  138.     /**
  139.      * @Gedmo\TreeLeft
  140.      * @Doctrine\ORM\Mapping\Column(type="integer", nullable=true)
  141.      */
  142.     protected $lft
  143.     
  144.     /**
  145.      * @Gedmo\TreeLevel
  146.      * @ORM\Column(name="lvl", type="integer")
  147.      */
  148.     protected $lvl;    
  149.     
  150.     /**
  151.      * @Gedmo\TreeRight
  152.      * @Doctrine\ORM\Mapping\Column(type="integer", nullable=true)
  153.      */
  154.     protected $rgt;     
  155.       
  156.      /**
  157.       * @ORM\Column(type="integer")
  158.       */
  159.      protected $eshopId;  
  160.     /**
  161.      * @ORM\Column(type="string", length=100, nullable=true)
  162.      */    
  163.     protected $ERPKey;       
  164.     /**
  165.      * @ORM\Column(type="boolean", options={"default":"1"})
  166.      */    
  167.     protected $isActive;     
  168.     /**
  169.      * @ORM\Column(type="boolean", options={"default":"0"}, nullable=true)
  170.      */    
  171.     protected $isHidden;  
  172.     /**
  173.      * @ORM\Column(type="integer", nullable=true)
  174.      */
  175.     protected $imageThumbWidth=100;    
  176.     /**
  177.      * @ORM\Column(type="integer", nullable=true)
  178.      */
  179.     protected $imageThumbHeight=100;  
  180.      /**
  181.       * @ORM\Column(type="integer", nullable=true)
  182.       */
  183.      protected $auctionHallId;  
  184.     /**
  185.      * @ORM\Column(type="integer", nullable=true)
  186.      */
  187.     protected $marketplaceDepartmentId=0;
  188.     /**
  189.      * @ORM\Column(type="integer", options={"default":"3"}, nullable=true)
  190.      */
  191.     protected $priority=3;
  192.     /**
  193.      * Get categoryId
  194.      *
  195.      * @return integer
  196.      */
  197.     public function getCategoryId()
  198.     {
  199.         return $this->categoryId;
  200.     }
  201.     /**
  202.      * Set categoryKey
  203.      *
  204.      * @param string $categoryKey
  205.      *
  206.      * @return Category
  207.      */
  208.     public function setCategoryKey($categoryKey)
  209.     {
  210.         $this->categoryKey $categoryKey;
  211.         return $this;
  212.     }
  213.     /**
  214.      * Get categoryKey
  215.      *
  216.      * @return string
  217.      */
  218.     public function getCategoryKey()
  219.     {
  220.         return $this->categoryKey;
  221.     }
  222.     /**
  223.      * Set categoryName
  224.      *
  225.      * @param string $categoryName
  226.      *
  227.      * @return Category
  228.      */
  229.     public function setCategoryName($categoryName)
  230.     {
  231.         $this->categoryName $categoryName;
  232.         return $this;
  233.     }
  234.     /**
  235.      * Get categoryName
  236.      *
  237.      * @return string
  238.      */
  239.     public function getCategoryName()
  240.     {
  241.         return $this->categoryName;
  242.     }
  243.     /**
  244.      * Set image1
  245.      *
  246.      * @param string $image1
  247.      *
  248.      * @return Category
  249.      */
  250.     public function setImage1($image1)
  251.     {
  252.         $this->image1 $image1;
  253.         return $this;
  254.     }
  255.     /**
  256.      * Get image1
  257.      *
  258.      * @return string
  259.      */
  260.     public function getImage1()
  261.     {
  262.         return $this->image1;
  263.     }
  264.     
  265.     /**
  266.      * Set locale
  267.      *
  268.      * @param string $locale
  269.      *
  270.      * @return Product
  271.      */
  272.     public function setLocale($locale)
  273.     {
  274.         $this->locale $locale;
  275.     
  276.         return $this;
  277.     }
  278.     
  279.     /**
  280.      * Get locale
  281.      *
  282.      * @return string
  283.      */
  284.     public function getLocale()
  285.     {
  286.         return $this->locale;
  287.     }    
  288.     
  289.     /**
  290.      * Constructor
  291.      */
  292.     public function __construct()
  293.     {
  294.         $this->parent = new \Doctrine\Common\Collections\ArrayCollection();
  295.         $this->children = new ArrayCollection();
  296.     }
  297.     /**
  298.      * Set lft
  299.      *
  300.      * @param integer $lft
  301.      *
  302.      * @return Category
  303.      */
  304.     public function setLft($lft)
  305.     {
  306.         $this->lft $lft;
  307.         return $this;
  308.     }
  309.     /**
  310.      * Get lft
  311.      *
  312.      * @return integer
  313.      */
  314.     public function getLft()
  315.     {
  316.         return $this->lft;
  317.     }
  318.     /**
  319.      * Set rgt
  320.      *
  321.      * @param integer $rgt
  322.      *
  323.      * @return Category
  324.      */
  325.     public function setRgt($rgt)
  326.     {
  327.         $this->rgt $rgt;
  328.         return $this;
  329.     }
  330.     /**
  331.      * Get rgt
  332.      *
  333.      * @return integer
  334.      */
  335.     public function getRgt()
  336.     {
  337.         return $this->rgt;
  338.     }
  339.     /**
  340.      * Add parent
  341.      *
  342.      * @param \App\Entity\Category $parent
  343.      *
  344.      * @return Category
  345.      */
  346.     public function addParent(\App\Entity\Category $parent)
  347.     {
  348.         $this->parent[] = $parent;
  349.         return $this;
  350.     }
  351.     /**
  352.      * Remove parent
  353.      *
  354.      * @param \App\Entity\Category $parent
  355.      */
  356.     public function removeParent(\App\Entity\Category $parent)
  357.     {
  358.         $this->parent->removeElement($parent);
  359.     }
  360.     /**
  361.      * Get parent
  362.      *
  363.      * @return \Doctrine\Common\Collections\Collection
  364.      */
  365.     public function getParent()
  366.     {
  367.         return $this->parent;
  368.     }
  369.     /**
  370.      * Set parent
  371.      *
  372.      * @param \App\Entity\Category $parent
  373.      *
  374.      * @return Category
  375.      */
  376.     public function setParent(\App\Entity\Category $parent null)
  377.     {
  378.         $this->parent $parent;
  379.         return $this;
  380.     }
  381.     /**
  382.      * Add child
  383.      *
  384.      * @param \App\Entity\Category $child
  385.      *
  386.      * @return Category
  387.      */
  388.     public function addChild(\App\Entity\Category $child)
  389.     {
  390.         $this->children[] = $child;
  391.         return $this;
  392.     }
  393.     /**
  394.      * Remove child
  395.      *
  396.      * @param \App\Entity\Category $child
  397.      */
  398.     public function removeChild(\App\Entity\Category $child)
  399.     {
  400.         $this->children->removeElement($child);
  401.     }
  402.     /**
  403.      * Get children
  404.      *
  405.      * @return \Doctrine\Common\Collections\Collection
  406.      */
  407.     public function getChildren()
  408.     {
  409.         return $this->children;
  410.     }
  411.     /**
  412.      * Set lvl
  413.      *
  414.      * @param integer $lvl
  415.      *
  416.      * @return Category
  417.      */
  418.     public function setLvl($lvl)
  419.     {
  420.         $this->lvl $lvl;
  421.         return $this;
  422.     }
  423.     /**
  424.      * Get lvl
  425.      *
  426.      * @return integer
  427.      */
  428.     public function getLvl()
  429.     {
  430.         return $this->lvl;
  431.     }
  432.     /**
  433.      * Set root
  434.      *
  435.      * @param \App\Entity\Category $root
  436.      *
  437.      * @return Category
  438.      */
  439.     public function setRoot(\App\Entity\Category $root null)
  440.     {
  441.         $this->root $root;
  442.         return $this;
  443.     }
  444.     /**
  445.      * Get root
  446.      *
  447.      * @return \App\Entity\Category
  448.      */
  449.     public function getRoot()
  450.     {
  451.         return $this->root;
  452.     }
  453.     /**
  454.      * Set eshop
  455.      *
  456.      * @param \App\Entity\Eshop $eshop
  457.      *
  458.      * @return Category
  459.      */
  460.     public function setEshop(\App\Entity\Eshop $eshop null)
  461.     {
  462.         $this->eshop $eshop;
  463.         return $this;
  464.     }
  465.     /**
  466.      * Get eshop
  467.      *
  468.      * @return \App\Entity\Eshop
  469.      */
  470.     public function getEshop()
  471.     {
  472.         return $this->eshop;
  473.     }
  474.     /**
  475.      * Add eshop
  476.      *
  477.      * @param \App\Entity\Eshop $eshop
  478.      *
  479.      * @return Category
  480.      */
  481.     public function addEshop(\App\Entity\Eshop $eshop)
  482.     {
  483.         $this->eshop[] = $eshop;
  484.         return $this;
  485.     }
  486.     /**
  487.      * Remove eshop
  488.      *
  489.      * @param \App\Entity\Eshop $eshop
  490.      */
  491.     public function removeEshop(\App\Entity\Eshop $eshop)
  492.     {
  493.         $this->eshop->removeElement($eshop);
  494.     }
  495.     /**
  496.      * Add eshop2
  497.      *
  498.      * @param \App\Entity\Eshop $eshop2
  499.      *
  500.      * @return Category
  501.      */
  502.     public function addEshop2(\App\Entity\Eshop $eshop2)
  503.     {
  504.         $this->eshop2[] = $eshop2;
  505.         return $this;
  506.     }
  507.     /**
  508.      * Remove eshop2
  509.      *
  510.      * @param \App\Entity\Eshop $eshop2
  511.      */
  512.     public function removeEshop2(\App\Entity\Eshop $eshop2)
  513.     {
  514.         $this->eshop2->removeElement($eshop2);
  515.     }
  516.     /**
  517.      * Get eshop2
  518.      *
  519.      * @return \Doctrine\Common\Collections\Collection
  520.      */
  521.     public function getEshop2()
  522.     {
  523.         return $this->eshop2;
  524.     }
  525.     /**
  526.      * Set eshopId
  527.      *
  528.      * @param integer $eshopId
  529.      *
  530.      * @return Category
  531.      */
  532.     public function setEshopId($eshopId)
  533.     {
  534.         $this->eshopId $eshopId;
  535.         return $this;
  536.     }
  537.     /**
  538.      * Get eshopId
  539.      *
  540.      * @return integer
  541.      */
  542.     public function getEshopId()
  543.     {
  544.         return $this->eshopId;
  545.     }
  546.     /**
  547.      * Set categoryDescription
  548.      *
  549.      * @param string $categoryDescription
  550.      *
  551.      * @return Category
  552.      */
  553.     public function setCategoryDescription($categoryDescription)
  554.     {
  555.         $this->categoryDescription $categoryDescription;
  556.         return $this;
  557.     }
  558.     /**
  559.      * Get categoryDescription
  560.      *
  561.      * @return string
  562.      */
  563.     public function getCategoryDescription()
  564.     {
  565.         return $this->categoryDescription;
  566.     }
  567.     /**
  568.      * Set eRPKey
  569.      *
  570.      * @param string $eRPKey
  571.      *
  572.      * @return Category
  573.      */
  574.     public function setERPKey($eRPKey)
  575.     {
  576.         $this->ERPKey $eRPKey;
  577.         return $this;
  578.     }
  579.     /**
  580.      * Get eRPKey
  581.      *
  582.      * @return string
  583.      */
  584.     public function getERPKey()
  585.     {
  586.         return $this->ERPKey;
  587.     }
  588.     /**
  589.      * Set isActive
  590.      *
  591.      * @param boolean $isActive
  592.      *
  593.      * @return Category
  594.      */
  595.     public function setIsActive($isActive)
  596.     {
  597.         $this->isActive $isActive;
  598.         return $this;
  599.     }
  600.     /**
  601.      * Get isActive
  602.      *
  603.      * @return boolean
  604.      */
  605.     public function getIsActive()
  606.     {
  607.         return $this->isActive;
  608.     }
  609.     /**
  610.      * Set isHidden
  611.      *
  612.      * @param boolean $isHidden
  613.      *
  614.      * @return Category
  615.      */
  616.     public function setIsHidden($isHidden)
  617.     {
  618.         $this->isHidden $isHidden;
  619.         return $this;
  620.     }
  621.     /**
  622.      * Get isHidden
  623.      *
  624.      * @return boolean
  625.      */
  626.     public function getIsHidden()
  627.     {
  628.         return $this->isHidden;
  629.     }
  630.     /**
  631.      * Set imageThumbWidth
  632.      *
  633.      * @param integer $imageThumbWidth
  634.      *
  635.      * @return Category
  636.      */
  637.     public function setImageThumbWidth($imageThumbWidth)
  638.     {
  639.         $this->imageThumbWidth $imageThumbWidth;
  640.         return $this;
  641.     }
  642.     /**
  643.      * Get imageThumbWidth
  644.      *
  645.      * @return integer
  646.      */
  647.     public function getImageThumbWidth()
  648.     {
  649.         return $this->imageThumbWidth;
  650.     }
  651.     /**
  652.      * Set imageThumbHeight
  653.      *
  654.      * @param integer $imageThumbHeight
  655.      *
  656.      * @return Category
  657.      */
  658.     public function setImageThumbHeight($imageThumbHeight)
  659.     {
  660.         $this->imageThumbHeight $imageThumbHeight;
  661.         return $this;
  662.     }
  663.     /**
  664.      * Get imageThumbHeight
  665.      *
  666.      * @return integer
  667.      */
  668.     public function getImageThumbHeight()
  669.     {
  670.         return $this->imageThumbHeight;
  671.     }
  672.     /**
  673.      * Set auctionHallId
  674.      *
  675.      * @param integer $auctionHallId
  676.      *
  677.      * @return Category
  678.      */
  679.     public function setAuctionHallId($auctionHallId)
  680.     {
  681.         $this->auctionHallId $auctionHallId;
  682.         return $this;
  683.     }
  684.     /**
  685.      * Get auctionHallId
  686.      *
  687.      * @return integer
  688.      */
  689.     public function getAuctionHallId()
  690.     {
  691.         return $this->auctionHallId;
  692.     }
  693.     /**
  694.      * Set marketplaceDepartmentId
  695.      *
  696.      * @param integer $marketplaceDepartmentId
  697.      *
  698.      * @return Category
  699.      */
  700.     public function setMarketplaceDepartmentId($marketplaceDepartmentId)
  701.     {
  702.         $this->marketplaceDepartmentId $marketplaceDepartmentId;
  703.         return $this;
  704.     }
  705.     /**
  706.      * Get marketplaceDepartmentId
  707.      *
  708.      * @return integer
  709.      */
  710.     public function getMarketplaceDepartmentId()
  711.     {
  712.         return $this->marketplaceDepartmentId;
  713.     }
  714.     public function isIsActive(): ?bool
  715.     {
  716.         return $this->isActive;
  717.     }
  718.     public function isIsHidden(): ?bool
  719.     {
  720.         return $this->isHidden;
  721.     }
  722.     public function getPriority(): ?int
  723.     {
  724.         return $this->priority;
  725.     }
  726.     public function setPriority(?int $priority): static
  727.     {
  728.         $this->priority $priority;
  729.         return $this;
  730.     }
  731. }