'\d+'], normalizationContext: ['groups' => ['building:read']], ), new GetCollection( normalizationContext: ['groups' => ['building:read']], ), ], security: "is_granted('ROLE_USER')", )] class Building { #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column] #[Groups(['building:read', 'building:summary', 'reception:read'])] private ?int $id = null; #[ORM\Column(length: 120)] #[Groups(['building:read', 'building:summary', 'reception:read'])] private string $label = ''; #[ORM\Column(length: 50)] #[Groups(['building:read', 'building:summary', 'reception:read'])] private string $code = ''; /** * @var Collection */ #[ORM\ManyToMany(targetEntity: Reception::class, mappedBy: 'buildings')] private Collection $receptions; /** * @var Collection */ #[ORM\OneToMany(targetEntity: BuildingCase::class, mappedBy: 'id_building')] #[Groups(['building:read'])] #[SerializedName('buildingCases')] private Collection $buildingCases; /** * @var Collection */ #[ORM\OneToMany(targetEntity: BuildingLayout::class, mappedBy: 'id_building')] #[Groups(['building:read'])] #[SerializedName('layouts')] private Collection $buildingLayout; public function __construct() { $this->receptions = new ArrayCollection(); $this->buildingCases = new ArrayCollection(); $this->buildingLayout = new ArrayCollection(); } public function getId(): ?int { return $this->id; } public function getLabel(): string { return $this->label; } public function setLabel(string $label): self { $this->label = $label; return $this; } public function getCode(): string { return $this->code; } public function setCode(string $code): self { $this->code = $code; return $this; } /** * @return Collection */ public function getReceptions(): Collection { return $this->receptions; } /** * @return Collection */ public function getBuildingCases(): Collection { return $this->buildingCases; } public function addBuildingCase(BuildingCase $buildingCase): static { if (!$this->buildingCases->contains($buildingCase)) { $this->buildingCases->add($buildingCase); $buildingCase->setIdBuilding($this); } return $this; } public function removeBuildingCase(BuildingCase $buildingCase): static { if ($this->buildingCases->removeElement($buildingCase)) { if ($buildingCase->getIdBuilding() === $this) { $buildingCase->setIdBuilding(null); } } return $this; } /** * @return Collection */ public function getBuildingLayout(): Collection { return $this->buildingLayout; } }