'ASC', 'id' => 'ASC'], operations: [ new Get( requirements: ['id' => '\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', 'bovine:read'])] private ?int $id = null; #[ORM\Column(length: 120)] #[Groups(['building:read', 'building:summary', 'reception:read', 'bovine:read'])] private string $label = ''; #[ORM\Column(length: 50)] #[Groups(['building:read', 'building:summary', 'reception:read'])] private string $code = ''; #[ORM\Column(name: 'display_order', type: 'integer', nullable: true)] #[Groups(['building:read', 'building:summary'])] private ?int $displayOrder = null; /** * @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; } public function getDisplayOrder(): ?int { return $this->displayOrder; } public function setDisplayOrder(?int $displayOrder): self { $this->displayOrder = $displayOrder; 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; } }