<?phpnamespace App\Entity;use App\Repository\MunicipalityRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity(repositoryClass=MunicipalityRepository::class) * @ORM\HasLifecycleCallbacks() */class Municipality{ /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=255) */ private $name; /** * @ORM\Column(type="string", length=255) */ private $location; /** * @ORM\Column(type="datetime", nullable=true) */ private $updadeAt; /** * @ORM\OneToMany(targetEntity=Hospital::class, mappedBy="municipality", orphanRemoval=true) */ private $hospitals; /** * @ORM\OneToOne(targetEntity=Subdivision::class, inversedBy="municipality", cascade={"persist", "remove"}) * @ORM\JoinColumn(nullable=false) */ private $subdivision; /** * @ORM\OneToMany(targetEntity=User::class, mappedBy="municipality") */ private $users; public function __construct() { $this->hospitals = new ArrayCollection(); $this->__updateDate(); $this->users = new ArrayCollection(); } 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; } public function getLocation(): ?string { return $this->location; } public function setLocation(string $location): self { $this->location = $location; return $this; } public function getUpdadeAt(): ?\DateTimeInterface { return $this->updadeAt; } public function setUpdadeAt(?\DateTimeInterface $updadeAt): self { $this->updadeAt = $updadeAt; return $this; } /** * @return Collection|Hospital[] */ public function getHospitals(): Collection { return $this->hospitals; } public function addHospital(Hospital $hospital): self { if (!$this->hospitals->contains($hospital)) { $this->hospitals[] = $hospital; $hospital->setMunicipality($this); } return $this; } public function removeHospital(Hospital $hospital): self { if ($this->hospitals->contains($hospital)) { $this->hospitals->removeElement($hospital); // set the owning side to null (unless already changed) if ($hospital->getMunicipality() === $this) { $hospital->setMunicipality(null); } } return $this; } public function __toString() { return $this->getName(); } /** * @ORM\PreUpdate */ public function __updateDate() { $this->setUpdadeAt(new \DateTime()); } public function getSubdivision(): ?Subdivision { return $this->subdivision; } public function setSubdivision(Subdivision $subdivision): self { $this->subdivision = $subdivision; return $this; } /** * @return Collection|User[] */ public function getUsers(): Collection { return $this->users; } public function addUser(User $user): self { if (!$this->users->contains($user)) { $this->users[] = $user; $user->setMunicipality($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->getMunicipality() === $this) { $user->setMunicipality(null); } } return $this; }}