src/Entity/Brand.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Service\Helper\SlugHelper;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. /**
  8.  *
  9.  * @ORM\Table(name="brands__brands", indexes={
  10.  *     @ORM\Index(name="name_idx", columns={"name"}),
  11.  *     @ORM\Index(name="legal_name_idx", columns={"legal_name"}),
  12.  *     @ORM\Index(name="car_manufacturer_idx", columns={"car_manufacturer"})
  13.  *     }
  14.  *)
  15.  * @ORM\Entity(repositoryClass="App\Repository\BrandRepository")
  16.  */
  17. class Brand
  18. {
  19.     use IdTrait;
  20.     /**
  21.      * @ORM\Column(name="name", unique=true, type="string", nullable=false)
  22.      */
  23.     private string $name;
  24.     /**
  25.      * @ORM\Column(name="legal_name", unique=true, type="string", nullable=true)
  26.      */
  27.     private string $legalName;
  28.     /**
  29.      * @ORM\Column(name="car_manufacturer", type="boolean", options={"default":0})
  30.      */
  31.     private bool $carManufacturer;
  32.     /**
  33.      * @ORM\Column(name="slug", type="string", unique=true, nullable=false)
  34.      */
  35.     private string $slug;
  36.     /**
  37.      * @var Collection|BrandAlias[]
  38.      * @ORM\OneToMany(targetEntity="App\Entity\BrandAlias", mappedBy="brand")
  39.      */
  40.     private $aliases;
  41.     public function __construct($name$carManufacturer false)
  42.     {
  43.         $this->name $name;
  44.         $this->legalName $name;
  45.         $this->slug SlugHelper::slugify($name);
  46.         $this->carManufacturer $carManufacturer;
  47.         $this->aliases = new ArrayCollection();
  48.     }
  49.     public function getName(): string
  50.     {
  51.         return $this->name;
  52.     }
  53.     public function getLegalName(): string
  54.     {
  55.         return $this->legalName;
  56.     }
  57.     public function getCarManufacturer()
  58.     {
  59.         return $this->carManufacturer;
  60.     }
  61.     public function getSlug(): string
  62.     {
  63.         return $this->slug;
  64.     }
  65.     /**
  66.      * @return BrandAlias[]|Collection
  67.      */
  68.     public function getAliases()
  69.     {
  70.         return $this->aliases;
  71.     }
  72. }