AbstractControl.php 816 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Entity\Core;
  4. use App\Entity\Access\Access;
  5. use App\Entity\Place\PlaceControl;
  6. use App\Entity\Place\RoomControl;
  7. use App\Entity\Product\EquipmentControl;
  8. use Doctrine\ORM\Mapping as ORM;
  9. #[ORM\MappedSuperclass]
  10. #[ORM\DiscriminatorColumn(name: 'discr', type: 'string')]
  11. #[ORM\DiscriminatorMap(
  12. [
  13. 'equipment' => EquipmentControl::class,
  14. 'place' => PlaceControl::class,
  15. 'room' => RoomControl::class,
  16. ]
  17. )]
  18. abstract class AbstractControl
  19. {
  20. #[ORM\Id]
  21. #[ORM\Column]
  22. #[ORM\GeneratedValue]
  23. protected ?int $id = null;
  24. #[ORM\ManyToOne(inversedBy: 'accompanistControl')]
  25. #[ORM\JoinColumn(nullable: true)]
  26. protected ?Access $accompanist = null;
  27. public function getId(): ?int
  28. {
  29. return $this->id;
  30. }
  31. }