<?php
declare(strict_types=1);
namespace App\Entity\System;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="tag", indexes={
*
* @ORM\Index(name="active", columns={"active"}),
* @ORM\Index(name="ps_tag_deleted_active_index", columns={"deleted", "active"}),
* @ORM\Index(name="deleted", columns={"deleted"}),
* })
*
* @ORM\Entity(repositoryClass="App\Repository\System\TagRepository")
*/
class Tag
{
public const BLACK_FRIDAY_TAG_ID = 72;
public const HOTDEAL_TAG_ID = 85;
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
*
* @ORM\Id
*/
private $id;
/**
* @var TagLanguage[]|ArrayCollection<int, TagLanguage>
*
* @ORM\OneToMany(targetEntity="App\Entity\System\TagLanguage", mappedBy="tag", cascade={"persist"})
*/
private $tagLanguages;
/**
* @var bool
*
* @ORM\Column(name="active", type="boolean")
*/
private $active;
/**
* @var bool
*
* @ORM\Column(name="deleted", type="boolean", options={"default" : 0})
*/
private $deleted;
public function getId(): int
{
return $this->id;
}
public function setId(int $id): Tag
{
$this->id = $id;
return $this;
}
/**
* @return TagLanguage[]|ArrayCollection<int, TagLanguage>
*/
public function getTagLanguages()
{
return $this->tagLanguages;
}
public function addTagLanguage(TagLanguage $tagLanguage): Tag
{
$this->tagLanguages[] = $tagLanguage;
$tagLanguage->setTag($this);
return $this;
}
/**
* @param TagLanguage[]|ArrayCollection<int, TagLanguage> $tagLanguages
*/
public function setTagLanguages($tagLanguages): Tag
{
$this->tagLanguages = $tagLanguages;
return $this;
}
public function isActive(): bool
{
return $this->active;
}
public function setActive(bool $active): Tag
{
$this->active = $active;
return $this;
}
public function isDeleted(): bool
{
return $this->deleted;
}
public function setDeleted(bool $deleted): Tag
{
$this->deleted = $deleted;
return $this;
}
}