<?php
namespace App\CasinoBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* Game
*
* @ORM\Table(name="keyword")
* @ORM\Entity(repositoryClass="App\CasinoBundle\Repository\KeywordRepository")
*/
class Keyword
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue()
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255, nullable=false)
*/
private $name;
/**
* @ORM\ManyToMany(targetEntity="App\CasinoBundle\Entity\Casino", mappedBy="keywords", cascade={"persist"})
* @ORM\JoinTable(
* name="casino_keyword",
* joinColumns={
* @ORM\JoinColumn(name="casino_id", referencedColumnName="id")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="keyword_id", referencedColumnName="id")
* }
* )
*/
private $casinos;
public function __construct()
{
$this->casinos = new ArrayCollection();
}
public function __toString()
{
return $this->name;
}
/**
* @return int
*/
public function getId(): int
{
return $this->id;
}
/**
* @param int $id
*/
public function setId(int $id): void
{
$this->id = $id;
}
/**
* @return string
*/
public function getName(): string
{
return $this->name;
}
/**
* @param string $name
* @return $this
*/
public function setName(string $name): self
{
$this->name = substr($name,0,120);
return $this;
}
/**
* @return Collection|Casino[]
*/
public function getCasinos(): Collection
{
return $this->casinos;
}
public function addCasino(Casino $casino): self
{
if (!$this->casinos->contains($casino)) {
$this->casinos[] = $casino;
$casino->addKeyword($this);
}
return $this;
}
public function removeCasino(Casino $casino): self
{
if ($this->casinos->contains($casino)) {
$this->casinos->removeElement($casino);
$casino->removeKeyword($this);
}
return $this;
}
}