<?phpnamespace App\CasinoBundle\Entity;use App\CmsBundle\Entity\AcronymTrait;use App\CmsBundle\Entity\PublishedTrait;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;use App\CmsBundle\Entity\SlugTrait;use App\CmsBundle\Entity\IdTrait;/** * BonusCategory * * @ORM\Table( * name="bonus_category" * ) * @ORM\Entity( * repositoryClass="App\CasinoBundle\Repository\BonusCategoryRepository" * ) * @ORM\Cache( * usage="NONSTRICT_READ_WRITE", * region="one_day" * ) */class BonusCategory{ use IdTrait; use NameTrait; use SlugTrait; use AliasTrait; use PublishedTrait; use AcronymTrait; /** * @ORM\ManyToOne(targetEntity="App\CasinoBundle\Entity\BonusType", inversedBy="bonusCategories", cascade={"persist"}) * @ORM\JoinColumn(nullable=true) */ private $bonusType; /** * @ORM\ManyToMany( * targetEntity="App\CasinoBundle\Entity\NewBonus", * mappedBy="bonusCategories", * cascade={"persist"} * ) */ private $newBonuses; /** * @ORM\OneToMany(targetEntity="App\CasinoBundle\Entity\Alias", mappedBy="bonusCategory", cascade={"persist"}, orphanRemoval=true) */ private Collection $aliases; /** * BonusCategory constructor. */ public function __construct() { $this->newBonuses = new ArrayCollection(); $this->aliases = new ArrayCollection(); } /** * @return string */ public function __toString() { return $this->name; } /** * @return Collection|Bonus[] */ public function getNewBonuses(): Collection { return $this->newBonuses; } /** * @param NewBonus $newBonus * @return $this */ public function addNewBonus(NewBonus $newBonus): self { if (!$this->newBonuses->contains($newBonus)) { $this->newBonuses[] = $newBonus; $newBonus->addBonusCategory($this); } return $this; } /** * @param NewBonus $newBonus * @return $this */ public function removeNewBonus(NewBonus $newBonus): self { if ($this->newBonuses->contains($newBonus)) { $this->newBonuses->removeElement($newBonus); $newBonus->removeBonusCategory($this); } return $this; } /** * @return BonusType|null */ public function getBonusType(): ?BonusType { return $this->bonusType; } /** * @param BonusType|null $bonusType * @return $this */ public function setBonusType(?BonusType $bonusType): self { $this->bonusType = $bonusType; return $this; }}