src/AppBundle/Entity/CaracteristicaValor.php line 16

  1. <?php
  2. namespace AppBundle\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use \AppBundle\Entity\Agrupador;
  6. use Symfony\Component\String\Slugger\AsciiSlugger;
  7. /**
  8.  * TipoCaracteristica.
  9.  *
  10.  * @ORM\Table(name="caracteristica_valor", uniqueConstraints={@ORM\UniqueConstraint(name="caracteristica_unique", columns={"caracteristica_id","valor_es"})})
  11.  * @ORM\Entity(repositoryClass="AppBundle\Repository\CaracteristicaValorRepository")
  12.  * @ORM\HasLifecycleCallbacks()
  13.  */
  14. class CaracteristicaValor
  15. {
  16.     /**
  17.      * @var int
  18.      *
  19.      * @ORM\Column(name="id", type="integer")
  20.      * @ORM\Id
  21.      * @ORM\GeneratedValue(strategy="AUTO")
  22.      */
  23.     private $id;
  24.     /**
  25.      * @var string
  26.      *
  27.      * @ORM\Column(name="valor_es", type="string", length=255)
  28.      */
  29.     private $valorEs;
  30.     /**
  31.      * @var string
  32.      *
  33.      * @ORM\Column(name="valor_en", type="string", length=255)
  34.      */
  35.     private $valorEn;
  36.     /**
  37.      * @var string
  38.      *
  39.      * @ORM\Column(name="slug_es", type="string", length=255)
  40.      */
  41.     private $slugEs;
  42.     /**
  43.      * @var string
  44.      *
  45.      * @ORM\Column(name="slug_en", type="string", length=255)
  46.      */
  47.     private $slugEn;
  48.     /**
  49.      * @ORM\ManyToOne(targetEntity="Caracteristica", inversedBy="caracteristicasValor")
  50.      * @ORM\JoinColumn(name="caracteristica_id", referencedColumnName="id")
  51.      */
  52.     protected $caracteristica;
  53.     /**
  54.      * @ORM\ManyToMany(targetEntity="Producto", mappedBy="caracteristicasValor", cascade={"persist"})
  55.      */
  56.     protected $productos;
  57.     /**
  58.      * @ORM\ManyToOne(targetEntity="Agrupador", inversedBy="caracteristicasValor")
  59.      * @ORM\JoinColumn(name="agrupador_id", referencedColumnName="id")
  60.      */
  61.     private $agrupador;
  62.     /**
  63.      * @var string
  64.      *
  65.      * @ORM\Column(name="clasificador", type="string", length=255, nullable=true)
  66.      */
  67.     private $clasificador;
  68.     public function __construct()
  69.     {
  70.         $this->slugify   = new AsciiSlugger();
  71.         $this->productos = new ArrayCollection();
  72.     }
  73.     /**
  74.      * Get id.
  75.      *
  76.      * @return int
  77.      */
  78.     public function getId()
  79.     {
  80.         return $this->id;
  81.     }
  82.     /**
  83.      * Set caracteristica.
  84.      *
  85.      * @param \AppBundle\Entity\Caracteristica $caracteristica
  86.      *
  87.      * @return TipoCaracteristica
  88.      */
  89.     public function setCaracteristica(\AppBundle\Entity\Caracteristica $caracteristica null)
  90.     {
  91.         $this->caracteristica $caracteristica;
  92.         return $this;
  93.     }
  94.     /**
  95.      * Get caracteristica.
  96.      *
  97.      * @return \AppBundle\Entity\Caracteristica
  98.      */
  99.     public function getCaracteristica()
  100.     {
  101.         return $this->caracteristica;
  102.     }
  103.     /**
  104.      * Add producto.
  105.      *
  106.      * @param \AppBundle\Entity\Producto $producto
  107.      *
  108.      * @return CaracteristicaValor
  109.      */
  110.     public function addProducto(\AppBundle\Entity\Producto $producto)
  111.     {
  112.         $this->productos[] = $producto;
  113.         return $this;
  114.     }
  115.     /**
  116.      * Remove producto.
  117.      *
  118.      * @param \AppBundle\Entity\Producto $producto
  119.      */
  120.     public function removeProducto(\AppBundle\Entity\Producto $producto)
  121.     {
  122.         $this->productos->removeElement($producto);
  123.     }
  124.     /**
  125.      * Get productos.
  126.      *
  127.      * @return \Doctrine\Common\Collections\Collection
  128.      */
  129.     public function getProductos()
  130.     {
  131.         return $this->productos;
  132.     }
  133.     /**
  134.      * Set valorEs.
  135.      *
  136.      * @param string $valorEs
  137.      *
  138.      * @return CaracteristicaValor
  139.      */
  140.     public function setValorEs($valorEs)
  141.     {
  142.         $this->valorEs $valorEs;
  143.         return $this;
  144.     }
  145.     /**
  146.      * Get valorEs.
  147.      *
  148.      * @return string
  149.      */
  150.     public function getValorEs()
  151.     {
  152.         return $this->valorEs;
  153.     }
  154.     /**
  155.      * Set valorEn.
  156.      *
  157.      * @param string $valorEn
  158.      *
  159.      * @return CaracteristicaValor
  160.      */
  161.     public function setValorEn($valorEn)
  162.     {
  163.         $this->valorEn $valorEn;
  164.         return $this;
  165.     }
  166.     /**
  167.      * Get valorEn.
  168.      *
  169.      * @return string
  170.      */
  171.     public function getValorEn()
  172.     {
  173.         return $this->valorEn;
  174.     }
  175.     /**
  176.      * Set slugEs.
  177.      *
  178.      * @ORM\PreUpdate
  179.      * @ORM\PrePersist
  180.      *
  181.      * @param string $slugEs
  182.      *
  183.      * @return CaracteristicaValor
  184.      */
  185.     public function setSlugEs()
  186.     {
  187.         $this->slugEs $this->slugify->slug($this->valorEs)->lower();
  188.         return $this;
  189.     }
  190.     /**
  191.      * Get slugEs.
  192.      *
  193.      * @return string
  194.      */
  195.     public function getSlugEs()
  196.     {
  197.         return $this->slugEs;
  198.     }
  199.     /**
  200.      * Set slugEn.
  201.      *
  202.      * @ORM\PreUpdate
  203.      * @ORM\PrePersist
  204.      *
  205.      * @param string $slugEn
  206.      *
  207.      * @return CaracteristicaValor
  208.      */
  209.     public function setSlugEn()
  210.     {
  211.         $this->slugEn $this->slugify->slug($this->valorEn)->lower();
  212.         return $this;
  213.     }
  214.     /**
  215.      * Get slugEn.
  216.      *
  217.      * @return string
  218.      */
  219.     public function getSlugEn()
  220.     {
  221.         return $this->slugEn;
  222.     }
  223.     /**
  224.      * Set agrupador
  225.      *
  226.      * @param \AppBundle\Entity\Agrupador $agrupador
  227.      *
  228.      * @return CaracteristicaValor
  229.      */
  230.     public function setAgrupador(Agrupador $agrupador null)
  231.     {
  232.         $this->agrupador $agrupador;
  233.         return $this;
  234.     }
  235.     /**
  236.      * Get agrupador
  237.      *
  238.      * @return \AppBundle\Entity\Agrupador
  239.      */
  240.     public function getAgrupador()
  241.     {
  242.         return $this->agrupador;
  243.     }
  244.     /**
  245.      * Set clasificador.
  246.      *
  247.      * @param string $clasificador
  248.      *
  249.      * @return CaracteristicaValor
  250.      */
  251.     public function setClasificador($clasificador)
  252.     {
  253.         $this->clasificador $clasificador;
  254.         return $this;
  255.     }
  256.     /**
  257.      * Get clasificador.
  258.      *
  259.      * @return string
  260.      */
  261.     public function getClasificador()
  262.     {
  263.         return $this->clasificador;
  264.     }
  265. }