src/AppBundle/Entity/Caracteristica.php line 16
<?php
namespace AppBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\String\Slugger\AsciiSlugger;
/**
* Caracteristica.
*
* @ORM\Table(name="caracteristica")
* @ORM\Entity(repositoryClass="AppBundle\Repository\CaracteristicaRepository")
* @ORM\HasLifecycleCallbacks()
*/
class Caracteristica
{
const ORDEN_VALORES_ALFABETICO = 0;
const ORDEN_VALORES_CANTIDAD_RESULTADOS = 1;
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?]
'caracteristica_espesor-mm',
'caracteristica_ancho-mm',
'caracteristica_largo',
'caracteristica_diametro-mm',
'caracteristica_diametro-pulg',
'caracteristica_lado-1-mm',
'caracteristica_lado-2-mm',
'caracteristica_diametro-1-mm',
'caracteristica_largo-buloneria',
'caracteristica_hilos-x-pugada',
'caracteristica_tamano',
'caracteristica_diametro-2-mm'];
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="nombre_es", type="string", length=255)
*/
private $nombreEs;
/**
* @var string
*
* @ORM\Column(name="nombre_en", type="string", length=255)
*/
private $nombreEn;
/**
* @ORM\OneToMany(targetEntity="CaracteristicaValor", mappedBy="caracteristica")
*/
protected $caracteristicasValor;
/**
* @ORM\OneToMany(targetEntity="Agrupador", mappedBy="caracteristica")
*/
protected $agrupadores;
/**
* @var string
*
* @ORM\Column(name="slug_es", type="string", length=255)
*/
private $slugEs;
/**
* @var string
*
* @ORM\Column(name="slug_en", type="string", length=255)
*/
private $slugEn;
/**
* @var string
*
* @ORM\Column(name="orden", type="decimal", scale=1)
*/
private $orden;
/**
* @var string
*
* @ORM\Column(name="orden_valores", type="integer")
*/
private $ordenValores = 1;
/**
* @var string
*
* @ORM\Column(name="filtrable_desde_listado", type="boolean")
*/
private $filtrableDesdeListado = true;
/**
* @ORM\OneToOne(targetEntity="InformacionCaracteristica", mappedBy="caracteristica")
*/
private $informacion;
/**
* Constructor.
*/
public function __construct()
{
$this->caracteristicasValor = new ArrayCollection();
$this->agrupadores = new ArrayCollection();
}
/**
* Get id.
*
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* Set id.
*
* @param string $id
*
* @return Caracteristica
*/
public function setId($id)
{
$this->id = $id;
return $this;
}
/**
* Set nombreEs.
*
* @param string $nombreEs
*
* @return Caracteristica
*/
public function setNombreEs($nombreEs)
{
$this->nombreEs = $nombreEs;
return $this;
}
/**
* Get nombreEs.
*
* @return string
*/
public function getNombreEs()
{
return $this->nombreEs;
}
/**
* Set nombreEn.
*
* @param string $nombreEn
*
* @return Caracteristica
*/
public function setNombreEn($nombreEn)
{
$this->nombreEn = $nombreEn;
return $this;
}
/**
* Get nombreEn.
*
* @return string
*/
public function getNombreEn()
{
return $this->nombreEn;
}
/**
* Add caracteristicasValor.
*
* @param \AppBundle\Entity\CaracteristicaValor $caracteristicasValor
*
* @return Caracteristica
*/
public function addCaracteristicasValor(\AppBundle\Entity\CaracteristicaValor $caracteristicasValor)
{
$this->caracteristicasValor[] = $caracteristicasValor;
return $this;
}
/**
* Remove caracteristicasValor.
*
* @param \AppBundle\Entity\CaracteristicaValor $caracteristicasValor
*/
public function removeCaracteristicasValor(\AppBundle\Entity\CaracteristicaValor $caracteristicasValor)
{
$this->caracteristicasValor->removeElement($caracteristicasValor);
}
/**
* Get caracteristicasValor.
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getCaracteristicasValor()
{
return $this->caracteristicasValor;
}
/**
* Add agrupador.
*
* @param \AppBundle\Entity\Agrupador $agrupador
*
* @return Caracteristica
*/
public function addAgrupadores(\AppBundle\Entity\Agrupador $agrupador)
{
$this->agrupadores[] = $agrupador;
return $this;
}
/**
* Remove agrupadores.
*
* @param \AppBundle\Entity\Agrupador $agrupador
*/
public function removeAgrupadores(\AppBundle\Entity\Agrupador $agrupador)
{
$this->agrupadores->removeElement($agrupador);
}
/**
* Get agrupadores.
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getAgrupadores()
{
return $this->agrupadores;
}
/**
* Set slugEs.
*
* @ORM\PreUpdate
* @ORM\PrePersist
*
* @param string $slugEs
*
* @return Caracteristica
*/
public function setSlugEs($slugEs)
{
$slugify = new AsciiSlugger();
$this->slugEs = $slugify->slug($this->nombreEs)->lower();
return $this;
}
/**
* Get slugEs.
*
* @return string
*/
public function getSlugEs()
{
return $this->slugEs;
}
/**
* Set slugEn.
*
* @ORM\PreUpdate
* @ORM\PrePersist
*
* @param string $slugEn
*
* @return Caracteristica
*/
public function setSlugEn($slugEn)
{
$slugify = new AsciiSlugger();
$this->slugEn = $slugify->slug($this->nombreEn)->lower();
return $this;
}
/**
* Get slugEn.
*
* @return string
*/
public function getSlugEn()
{
return $this->slugEn;
}
/**
* Set orden.
*
* @param int $orden
*
* @return Caracteristica
*/
public function setOrden($orden)
{
$this->orden = $orden;
return $this;
}
/**
* Get orden.
*
* @return int
*/
public function getOrden()
{
return $this->orden;
}
public function getOrdenValores()
{
return $this->ordenValores;
}
public function setOrdenValores($ordenValores)
{
$this->ordenValores = $ordenValores;
return $this;
}
public function getFiltrableDesdeListado() {
return $this->filtrableDesdeListado;
}
public function setFiltrableDesdeListado($filtrableDesdeListado) {
$this->filtrableDesdeListado = $filtrableDesdeListado;
return $this;
}
/**
* Get informacion
*
* @return \AppBundle\Entity\InformacionCaracteristica
*/
public function getInformacion()
{
return $this->informacion;
}
public function esTipoImagen(){
return $this->informacion ? $this->informacion->getTipoImagen() : false;
}
}