src/CmsBundle/Entity/Directory.php line 22

Open in your IDE?
  1. <?php
  2. namespace App\CmsBundle\Entity;
  3. use App\CmsBundle\Enum\DirectoryType;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\Common\Collections\Collection;
  7. /**
  8.  * @ORM\Entity(
  9.  *     repositoryClass="App\CmsBundle\Repository\DirectoryRepository"
  10.  * )
  11.  * @ORM\Table(
  12.  *     name="directory",
  13.  *     indexes={
  14.  *         @ORM\Index(name="directory_site_index", columns={"site_id"}),
  15.  *         @ORM\Index(name="directory_route_index", columns={"route_id"})
  16.  *     }
  17.  * )
  18.  */
  19. class Directory
  20. {
  21.     use IdTraitTitleTraitSiteTraitTypeTrait;
  22.     /**
  23.      * @ORM\ManyToOne(targetEntity="App\CmsBundle\Entity\Site", inversedBy="directories")
  24.      * @ORM\JoinColumn(nullable=false)
  25.      */
  26.     private $site;
  27.     /**
  28.      * @ORM\OneToOne(targetEntity="App\CmsBundle\Entity\Route", inversedBy="directory")
  29.      * @ORM\JoinColumn(name="route_id", referencedColumnName="id")
  30.      */
  31.     private $route;
  32.     /**
  33.      * @ORM\OneToMany(targetEntity="App\CmsBundle\Entity\DirectoryItem", mappedBy="directory", cascade={"persist","remove"})
  34.      */
  35.     private $directoryItems;
  36.     public function __construct()
  37.     {
  38.         $this->directoryItems = new ArrayCollection();
  39.     }
  40.     public function __toString(): string
  41.     {
  42.         return array_key_exists($this->typeDirectoryType::getValues())
  43.             ?  DirectoryType::getValues()[$this->type] . '  directory'
  44.             'Directory';
  45.     }
  46.     /**
  47.      * @return Route|null
  48.      */
  49.     public function getRoute(): ?Route
  50.     {
  51.         return $this->route;
  52.     }
  53.     /**
  54.      * @param Route|null $route
  55.      * @return $this
  56.      */
  57.     public function setRoute(?Route $route null): self
  58.     {
  59.         $this->route $route;
  60.         return $this;
  61.     }
  62.     public function getDirectoryItems(): Collection
  63.     {
  64.         if (is_null($this->directoryItems)) $this->directoryItems = new ArrayCollection();
  65.         return $this->directoryItems;
  66.     }
  67. }