<?php
namespace App\Entity;
use App\Repository\QuartierRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=QuartierRepository::class)
*/
class Quartier
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $name;
/**
* @ORM\OneToMany(targetEntity=User::class, mappedBy="quartier")
*/
private $users;
/**
* @ORM\ManyToOne(targetEntity=Ville::class, inversedBy="quartiers")
* @ORM\JoinColumn(nullable=false)
*/
private $ville;
/**
* @ORM\Column(type="float", nullable=true)
*/
private $logitude;
/**
* @ORM\Column(type="float", nullable=true)
*/
private $latitude;
/**
* @ORM\OneToMany(targetEntity=IctusPharmacie::class, mappedBy="quartier")
*/
private $ictusPharmacies;
/**
* @ORM\OneToMany(targetEntity=Adresse::class, mappedBy="quartier")
*/
private $adresses;
/**
* @ORM\OneToMany(targetEntity=Zone::class, mappedBy="quartier")
*/
private $zones;
/**
* @ORM\ManyToMany(targetEntity=ZoneQuartier::class, mappedBy="quartier")
*/
private $zoneQuartiers;
public function __construct()
{
$this->users = new ArrayCollection();
$this->ictusPharmacies = new ArrayCollection();
$this->adresses = new ArrayCollection();
$this->zones = new ArrayCollection();
$this->zoneQuartiers = new ArrayCollection();
}
public function __toString(){
return $this->getName();
}
public function getId(): ?int
{
return $this->id;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(string $name): self
{
$this->name = $name;
return $this;
}
/**
* @return Collection<int, User>
*/
public function getUsers(): Collection
{
return $this->users;
}
public function addUser(User $user): self
{
if (!$this->users->contains($user)) {
$this->users[] = $user;
$user->setQuartier($this);
}
return $this;
}
public function removeUser(User $user): self
{
if ($this->users->removeElement($user)) {
// set the owning side to null (unless already changed)
if ($user->getQuartier() === $this) {
$user->setQuartier(null);
}
}
return $this;
}
public function getVille(): ?Ville
{
return $this->ville;
}
public function setVille(?Ville $ville): self
{
$this->ville = $ville;
return $this;
}
public function getLogitude(): ?float
{
return $this->logitude;
}
public function setLogitude(?float $logitude): self
{
$this->logitude = $logitude;
return $this;
}
public function getLatitude(): ?float
{
return $this->latitude;
}
public function setLatitude(?float $latitude): self
{
$this->latitude = $latitude;
return $this;
}
/**
* @return Collection<int, IctusPharmacie>
*/
public function getIctusPharmacies(): Collection
{
return $this->ictusPharmacies;
}
public function addIctusPharmacy(IctusPharmacie $ictusPharmacy): self
{
if (!$this->ictusPharmacies->contains($ictusPharmacy)) {
$this->ictusPharmacies[] = $ictusPharmacy;
$ictusPharmacy->setQuartier($this);
}
return $this;
}
public function removeIctusPharmacy(IctusPharmacie $ictusPharmacy): self
{
if ($this->ictusPharmacies->removeElement($ictusPharmacy)) {
// set the owning side to null (unless already changed)
if ($ictusPharmacy->getQuartier() === $this) {
$ictusPharmacy->setQuartier(null);
}
}
return $this;
}
/**
* @return Collection<int, Adresse>
*/
public function getAdresses(): Collection
{
return $this->adresses;
}
public function addAdress(Adresse $adress): self
{
if (!$this->adresses->contains($adress)) {
$this->adresses[] = $adress;
$adress->setQuartier($this);
}
return $this;
}
public function removeAdress(Adresse $adress): self
{
if ($this->adresses->removeElement($adress)) {
// set the owning side to null (unless already changed)
if ($adress->getQuartier() === $this) {
$adress->setQuartier(null);
}
}
return $this;
}
/**
* @return Collection<int, Zone>
*/
public function getZones(): Collection
{
return $this->zones;
}
public function addZone(Zone $zone): self
{
if (!$this->zones->contains($zone)) {
$this->zones[] = $zone;
$zone->setQuartier($this);
}
return $this;
}
public function removeZone(Zone $zone): self
{
if ($this->zones->removeElement($zone)) {
// set the owning side to null (unless already changed)
if ($zone->getQuartier() === $this) {
$zone->setQuartier(null);
}
}
return $this;
}
/**
* @return Collection<int, ZoneQuartier>
*/
public function getZoneQuartiers(): Collection
{
return $this->zoneQuartiers;
}
public function addZoneQuartier(ZoneQuartier $zoneQuartier): self
{
if (!$this->zoneQuartiers->contains($zoneQuartier)) {
$this->zoneQuartiers[] = $zoneQuartier;
$zoneQuartier->addQuartier($this);
}
return $this;
}
public function removeZoneQuartier(ZoneQuartier $zoneQuartier): self
{
if ($this->zoneQuartiers->removeElement($zoneQuartier)) {
$zoneQuartier->removeQuartier($this);
}
return $this;
}
}