src/Entity/Site.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\SiteRepository;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Gedmo\Mapping\Annotation as Gedmo;
  8. /**
  9.  * @ORM\Entity(repositoryClass=SiteRepository::class)
  10.  */
  11. class Site
  12. {
  13.     /**
  14.      * @ORM\Id
  15.      * @ORM\GeneratedValue
  16.      * @ORM\Column(type="integer")
  17.      */
  18.     private $id;
  19.     /**
  20.      * @ORM\Column(type="string", length=255)
  21.      */
  22.     private $title;
  23.     /**
  24.      * @ORM\Column(type="string", length=255)
  25.      */
  26.     private $description;
  27.     /**
  28.      * @ORM\Column(type="text")
  29.      */
  30.     private $detailed_description;
  31.     /**
  32.      * @ORM\Column(type="float")
  33.      */
  34.     private $latitude;
  35.     /**
  36.      * @ORM\Column(type="float")
  37.      */
  38.     private $longitude;
  39.     /**
  40.      * @ORM\Column(type="string", length=255)
  41.      */
  42.     private $image;
  43.     /**
  44.      * @ORM\ManyToOne(targetEntity=SiteCategory::class, inversedBy="sites")
  45.      */
  46.     private $siteCategory;
  47.     /**
  48.      * @ORM\Column(type="datetime_immutable")
  49.      * @Gedmo\Timestampable(on="create")
  50.      */
  51.     private $created_at;
  52.     /**
  53.      * @ORM\Column(type="datetime_immutable")
  54.      * @Gedmo\Timestampable(on="update")
  55.      */
  56.     private $updated_at;
  57.     /**
  58.      * @ORM\OneToMany(targetEntity=CircuitSite::class, mappedBy="site")
  59.      */
  60.     private $circuitSites;
  61.     public function __construct()
  62.     {
  63.         $this->circuitSites = new ArrayCollection();
  64.     }
  65.     public function getId(): ?int
  66.     {
  67.         return $this->id;
  68.     }
  69.     public function getTitle(): ?string
  70.     {
  71.         return $this->title;
  72.     }
  73.     public function setTitle(string $title): self
  74.     {
  75.         $this->title $title;
  76.         return $this;
  77.     }
  78.     public function getDescription(): ?string
  79.     {
  80.         return $this->description;
  81.     }
  82.     public function setDescription(string $description): self
  83.     {
  84.         $this->description $description;
  85.         return $this;
  86.     }
  87.     public function getDetailedDescription(): ?string
  88.     {
  89.         return $this->detailed_description;
  90.     }
  91.     public function setDetailedDescription(string $detailed_description): self
  92.     {
  93.         $this->detailed_description $detailed_description;
  94.         return $this;
  95.     }
  96.     public function getLatitude(): ?float
  97.     {
  98.         return $this->latitude;
  99.     }
  100.     public function setLatitude(float $latitude): self
  101.     {
  102.         $this->latitude $latitude;
  103.         return $this;
  104.     }
  105.     public function getLongitude(): ?float
  106.     {
  107.         return $this->longitude;
  108.     }
  109.     public function setLongitude(float $longitude): self
  110.     {
  111.         $this->longitude $longitude;
  112.         return $this;
  113.     }
  114.     public function getImage(): ?string
  115.     {
  116.         return $this->image;
  117.     }
  118.     public function setImage(string $image): self
  119.     {
  120.         $this->image $image;
  121.         return $this;
  122.     }
  123.     public function getSiteCategory(): ?SiteCategory
  124.     {
  125.         return $this->siteCategory;
  126.     }
  127.     public function setSiteCategory(?SiteCategory $siteCategory): self
  128.     {
  129.         $this->siteCategory $siteCategory;
  130.         return $this;
  131.     }
  132.     public function getCreatedAt(): ?\DateTimeImmutable
  133.     {
  134.         return $this->created_at;
  135.     }
  136.     public function setCreatedAt(\DateTimeImmutable $created_at): self
  137.     {
  138.         $this->created_at $created_at;
  139.         return $this;
  140.     }
  141.     public function getUpdatedAt(): ?\DateTimeImmutable
  142.     {
  143.         return $this->updated_at;
  144.     }
  145.     public function setUpdatedAt(\DateTimeImmutable $updated_at): self
  146.     {
  147.         $this->updated_at $updated_at;
  148.         return $this;
  149.     }
  150.     /**
  151.      * @return Collection<int, CircuitSite>
  152.      */
  153.     public function getCircuitSites(): Collection
  154.     {
  155.         return $this->circuitSites;
  156.     }
  157.     public function addCircuitSite(CircuitSite $circuitSite): self
  158.     {
  159.         if (!$this->circuitSites->contains($circuitSite)) {
  160.             $this->circuitSites[] = $circuitSite;
  161.             $circuitSite->setSite($this);
  162.         }
  163.         return $this;
  164.     }
  165.     public function removeCircuitSite(CircuitSite $circuitSite): self
  166.     {
  167.         if ($this->circuitSites->removeElement($circuitSite)) {
  168.             // set the owning side to null (unless already changed)
  169.             if ($circuitSite->getSite() === $this) {
  170.                 $circuitSite->setSite(null);
  171.             }
  172.         }
  173.         return $this;
  174.     }
  175. }