PersonIdentifier::class])] class PersonIdentifier { #[ORM\Id] #[ORM\Column(name: 'id', type: \Doctrine\DBAL\Types\Types::INTEGER)] #[ORM\GeneratedValue] #[Serializer\Groups(['read'])] private ?int $id = null; #[ORM\ManyToOne(targetEntity: Person::class)] #[ORM\JoinColumn(name: 'person_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')] private ?Person $person = null; #[ORM\Column(name: 'value', type: \Doctrine\DBAL\Types\Types::JSON, nullable: false, options: ['default' => '[]', 'jsonb' => true])] #[Serializer\Groups(['read'])] private array $value = []; #[ORM\Column(name: 'canonical', type: \Doctrine\DBAL\Types\Types::TEXT, nullable: false, options: ['default' => ''])] private string $canonical = ''; public function __construct( #[ORM\ManyToOne(targetEntity: PersonIdentifierDefinition::class)] #[ORM\JoinColumn(name: 'definition_id', referencedColumnName: 'id', nullable: false, onDelete: 'RESTRICT')] #[Serializer\Groups(['read'])] private PersonIdentifierDefinition $definition, ) {} public function getId(): ?int { return $this->id; } public function setPerson(?Person $person): self { $this->person = $person; return $this; } public function getPerson(): Person { return $this->person; } public function getValue(): array { return $this->value; } public function setValue(array $value): void { $this->value = $value; } public function getCanonical(): string { return $this->canonical; } public function setCanonical(string $canonical): void { $this->canonical = $canonical; } public function getDefinition(): PersonIdentifierDefinition { return $this->definition; } }