src/AppBundle/Entity/Caracteristica.php line 16

  1. <?php
  2. namespace AppBundle\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Symfony\Component\String\Slugger\AsciiSlugger;
  6. /**
  7.  * Caracteristica.
  8.  *
  9.  * @ORM\Table(name="caracteristica")
  10.  * @ORM\Entity(repositoryClass="AppBundle\Repository\CaracteristicaRepository")
  11.  * @ORM\HasLifecycleCallbacks()
  12.  */
  13. class Caracteristica
  14. {
  15.     const ORDEN_VALORES_ALFABETICO 0;
  16.     const ORDEN_VALORES_CANTIDAD_RESULTADOS 1;
  17.     const FILTROS_CHECKBOX = ['caracteristica_espesor-mm'//Mapea los filtros multiples  [usado inicialmente para no quitar los filtros disponibles del array] [todo: Â¿hay una forma más prolija de hacerlo?]
  18.                                 'caracteristica_espesor-mm',
  19.                                 'caracteristica_ancho-mm',
  20.                                 'caracteristica_largo',
  21.                                 'caracteristica_diametro-mm',
  22.                                 'caracteristica_diametro-pulg',
  23.                                 'caracteristica_lado-1-mm',
  24.                                 'caracteristica_lado-2-mm',
  25.                                 'caracteristica_diametro-1-mm',
  26.                                 'caracteristica_largo-buloneria',
  27.                                 'caracteristica_hilos-x-pugada',
  28.                                 'caracteristica_tamano',
  29.                                 'caracteristica_diametro-2-mm'];
  30.                                 
  31.     /**
  32.      * @var int
  33.      *
  34.      * @ORM\Column(name="id", type="integer")
  35.      * @ORM\Id
  36.      */
  37.     private $id;
  38.     /**
  39.      * @var string
  40.      *
  41.      * @ORM\Column(name="nombre_es", type="string", length=255)
  42.      */
  43.     private $nombreEs;
  44.     /**
  45.      * @var string
  46.      *
  47.      * @ORM\Column(name="nombre_en", type="string", length=255)
  48.      */
  49.     private $nombreEn;
  50.     
  51.     /**
  52.      * @ORM\OneToMany(targetEntity="CaracteristicaValor", mappedBy="caracteristica")
  53.      */
  54.     protected $caracteristicasValor;
  55.     /**
  56.      * @ORM\OneToMany(targetEntity="Agrupador", mappedBy="caracteristica")
  57.      */
  58.     protected $agrupadores;
  59.     /**
  60.      * @var string
  61.      *
  62.      * @ORM\Column(name="slug_es", type="string", length=255)
  63.      */
  64.     private $slugEs;
  65.     /**
  66.      * @var string
  67.      *
  68.      * @ORM\Column(name="slug_en", type="string", length=255)
  69.      */
  70.     private $slugEn;
  71.     /**
  72.      * @var string
  73.      *
  74.      * @ORM\Column(name="orden", type="decimal", scale=1)
  75.      */
  76.     private $orden;
  77.     /**
  78.      * @var string
  79.      *
  80.      * @ORM\Column(name="orden_valores", type="integer")
  81.      */
  82.     private $ordenValores 1;
  83.     /**
  84.      * @var string
  85.      *
  86.      * @ORM\Column(name="filtrable_desde_listado", type="boolean")
  87.      */
  88.     private $filtrableDesdeListado true;
  89.     
  90.     /**
  91.      * @ORM\OneToOne(targetEntity="InformacionCaracteristica", mappedBy="caracteristica")
  92.      */
  93.     private $informacion;
  94.     /**
  95.      * Constructor.
  96.      */
  97.     public function __construct()
  98.     {
  99.         $this->caracteristicasValor = new ArrayCollection();
  100.         $this->agrupadores = new ArrayCollection();
  101.     }
  102.     /**
  103.      * Get id.
  104.      *
  105.      * @return string
  106.      */
  107.     public function getId()
  108.     {
  109.         return $this->id;
  110.     }
  111.     /**
  112.      * Set id.
  113.      *
  114.      * @param string $id
  115.      *
  116.      * @return Caracteristica
  117.      */
  118.     public function setId($id)
  119.     {
  120.         $this->id $id;
  121.         return $this;
  122.     }
  123.     /**
  124.      * Set nombreEs.
  125.      *
  126.      * @param string $nombreEs
  127.      *
  128.      * @return Caracteristica
  129.      */
  130.     public function setNombreEs($nombreEs)
  131.     {
  132.         $this->nombreEs $nombreEs;
  133.         return $this;
  134.     }
  135.     /**
  136.      * Get nombreEs.
  137.      *
  138.      * @return string
  139.      */
  140.     public function getNombreEs()
  141.     {
  142.         return $this->nombreEs;
  143.     }
  144.     /**
  145.      * Set nombreEn.
  146.      *
  147.      * @param string $nombreEn
  148.      *
  149.      * @return Caracteristica
  150.      */
  151.     public function setNombreEn($nombreEn)
  152.     {
  153.         $this->nombreEn $nombreEn;
  154.         return $this;
  155.     }
  156.     /**
  157.      * Get nombreEn.
  158.      *
  159.      * @return string
  160.      */
  161.     public function getNombreEn()
  162.     {
  163.         return $this->nombreEn;
  164.     }
  165.     /**
  166.      * Add caracteristicasValor.
  167.      *
  168.      * @param \AppBundle\Entity\CaracteristicaValor $caracteristicasValor
  169.      *
  170.      * @return Caracteristica
  171.      */
  172.     public function addCaracteristicasValor(\AppBundle\Entity\CaracteristicaValor $caracteristicasValor)
  173.     {
  174.         $this->caracteristicasValor[] = $caracteristicasValor;
  175.         return $this;
  176.     }
  177.     /**
  178.      * Remove caracteristicasValor.
  179.      *
  180.      * @param \AppBundle\Entity\CaracteristicaValor $caracteristicasValor
  181.      */
  182.     public function removeCaracteristicasValor(\AppBundle\Entity\CaracteristicaValor $caracteristicasValor)
  183.     {
  184.         $this->caracteristicasValor->removeElement($caracteristicasValor);
  185.     }
  186.     /**
  187.      * Get caracteristicasValor.
  188.      *
  189.      * @return \Doctrine\Common\Collections\Collection
  190.      */
  191.     public function getCaracteristicasValor()
  192.     {
  193.         return $this->caracteristicasValor;
  194.     }
  195.     /**
  196.      * Add agrupador.
  197.      *
  198.      * @param \AppBundle\Entity\Agrupador $agrupador
  199.      *
  200.      * @return Caracteristica
  201.      */
  202.     public function addAgrupadores(\AppBundle\Entity\Agrupador $agrupador)
  203.     {
  204.         $this->agrupadores[] = $agrupador;
  205.         return $this;
  206.     }
  207.     /**
  208.      * Remove agrupadores.
  209.      *
  210.      * @param \AppBundle\Entity\Agrupador $agrupador
  211.      */
  212.     public function removeAgrupadores(\AppBundle\Entity\Agrupador $agrupador)
  213.     {
  214.         $this->agrupadores->removeElement($agrupador);
  215.     }
  216.     /**
  217.      * Get agrupadores.
  218.      *
  219.      * @return \Doctrine\Common\Collections\Collection
  220.      */
  221.     public function getAgrupadores()
  222.     {
  223.         return $this->agrupadores;
  224.     }
  225.     /**
  226.      * Set slugEs.
  227.      *
  228.      * @ORM\PreUpdate
  229.      * @ORM\PrePersist
  230.      *
  231.      * @param string $slugEs
  232.      *
  233.      * @return Caracteristica
  234.      */
  235.     public function setSlugEs($slugEs)
  236.     {
  237.         $slugify = new AsciiSlugger();
  238.         $this->slugEs $slugify->slug($this->nombreEs)->lower();
  239.         return $this;
  240.     }
  241.     /**
  242.      * Get slugEs.
  243.      *
  244.      * @return string
  245.      */
  246.     public function getSlugEs()
  247.     {
  248.         return $this->slugEs;
  249.     }
  250.     /**
  251.      * Set slugEn.
  252.      *
  253.      * @ORM\PreUpdate
  254.      * @ORM\PrePersist
  255.      *
  256.      * @param string $slugEn
  257.      *
  258.      * @return Caracteristica
  259.      */
  260.     public function setSlugEn($slugEn)
  261.     {
  262.         $slugify = new AsciiSlugger();
  263.         $this->slugEn $slugify->slug($this->nombreEn)->lower();
  264.         return $this;
  265.     }
  266.     /**
  267.      * Get slugEn.
  268.      *
  269.      * @return string
  270.      */
  271.     public function getSlugEn()
  272.     {
  273.         return $this->slugEn;
  274.     }
  275.     /**
  276.      * Set orden.
  277.      *
  278.      * @param int $orden
  279.      *
  280.      * @return Caracteristica
  281.      */
  282.     public function setOrden($orden)
  283.     {
  284.         $this->orden $orden;
  285.         return $this;
  286.     }
  287.     /**
  288.      * Get orden.
  289.      *
  290.      * @return int
  291.      */
  292.     public function getOrden()
  293.     {
  294.         return $this->orden;
  295.     }
  296.     public function getOrdenValores()
  297.     {
  298.         return $this->ordenValores;
  299.     }
  300.     public function setOrdenValores($ordenValores)
  301.     {
  302.         $this->ordenValores $ordenValores;
  303.         return $this;
  304.     }
  305.     public function getFiltrableDesdeListado() {
  306.         return $this->filtrableDesdeListado;
  307.     }
  308.     public function setFiltrableDesdeListado($filtrableDesdeListado) {
  309.         $this->filtrableDesdeListado $filtrableDesdeListado;
  310.         return $this;
  311.     }
  312.     
  313.     /**
  314.      * Get informacion
  315.      *
  316.      * @return \AppBundle\Entity\InformacionCaracteristica
  317.      */
  318.     public function getInformacion()
  319.     {
  320.         return $this->informacion;
  321.     }
  322.     public function esTipoImagen(){
  323.        return $this->informacion $this->informacion->getTipoImagen() : false;
  324.     }
  325. }