<?phpnamespace App\Entity;use App\Entity\Traits\CommonTrait;use App\Repository\PageMenuRepository;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;/** * @ORM\Entity(repositoryClass=PageMenuRepository::class) * @ORM\Table(name="app_page_menu") * @ORM\HasLifecycleCallbacks() * @UniqueEntity({"uuid"}) */class PageMenu{ use CommonTrait; /** * @ORM\Column(type="string", length=255) */ private $name; /** * @ORM\OneToMany(targetEntity=PageMenuLink::class, mappedBy="menu", orphanRemoval=true) */ private $links; /** * @ORM\Column(type="string", length=255) */ private $uKey; public function __construct() { $this->links = new ArrayCollection(); } public function getName(): ?string { return $this->name; } public function setName(string $name): self { $this->name = $name; return $this; } /** * @return Collection<int, PageMenuLink> */ public function getLinks(): Collection { return $this->links; } public function addLink(PageMenuLink $link): self { if (!$this->links->contains($link)) { $this->links[] = $link; $link->setMenu($this); } return $this; } public function removeLink(PageMenuLink $link): self { if ($this->links->removeElement($link)) { // set the owning side to null (unless already changed) if ($link->getMenu() === $this) { $link->setMenu(null); } } return $this; } public function getUKey(): ?string { return $this->uKey; } public function setUKey(string $uKey): self { $this->uKey = $uKey; return $this; } public function __toString(): string { return $this->name; }}