<?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="game")
* @ORM\Entity(repositoryClass="App\CasinoBundle\Repository\GameRepository")
* @ORM\Cache(usage="READ_ONLY", region="one_day")
*/
class Game
{
/**
* @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="games", fetch="EXTRA_LAZY", cascade={"persist"})
* @ORM\JoinTable(
* name="casino_game",
* joinColumns={
* @ORM\JoinColumn(name="casino_id", referencedColumnName="id")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="game_id", referencedColumnName="id")
* }
* )
*/
private $casinos;
/**
* @ORM\ManyToOne(targetEntity="App\CasinoBundle\Entity\GameType", inversedBy="games", cascade={"persist"})
*/
private $gameType;
private $casino;
public function setCasino($casino)
{
$this->casino = $casino;
}
public function getCasino()
{
return $this->casino;
}
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|null
*/
public function getName(): ?string
{
return $this->name;
}
/**
* @param string $name
* @return $this
*/
public function setName(string $name): self
{
$this->name = $name;
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->addGame($this);
}
return $this;
}
public function removeCasino(Casino $casino): self
{
if ($this->casinos->contains($casino)) {
$this->casinos->removeElement($casino);
$casino->removeGame($this);
}
return $this;
}
public function getGameType(): ?GameType
{
return $this->gameType;
}
public function setGameType(?GameType $gameType): self
{
$this->gameType = $gameType;
return $this;
}
}