*/ #[ORM\OneToMany(mappedBy: 'parent', targetEntity: Option::class)] private Collection $children; #[ORM\Id] #[ORM\Column(name: 'id', type: \Doctrine\DBAL\Types\Types::INTEGER)] #[ORM\GeneratedValue(strategy: 'AUTO')] private ?int $id = null; #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, length: 50, name: 'internal_key', options: ['default' => ''])] private string $internalKey = ''; #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, length: 15)] private ?string $key = null; #[ORM\ManyToOne(targetEntity: Option::class, inversedBy: 'children')] #[ORM\JoinColumn(nullable: true)] private ?Option $parent = null; /** * A json representation of text (multilingual). */ #[ORM\Column(type: \Doctrine\DBAL\Types\Types::JSON)] private ?array $text = null; public function __construct() { $this->children = new ArrayCollection(); } /** * @return bool */ public function getActive() { return $this->isActive(); } /** * @return Collection */ public function getChildren() { return $this->children; } /** * @return int */ public function getId() { return $this->id; } /** * @return string */ public function getInternalKey() { return $this->internalKey; } /** * @return string */ public function getKey() { return $this->key; } /** * @return Option */ public function getParent() { return $this->parent; } /** * @return array */ public function getText() { return $this->text; } /** * @return bool */ public function hasParent() { return null === $this->parent ? false : true; } /** * @return bool */ public function isActive() { return $this->active; } /** * @return $this */ public function setActive(bool $active) { $this->active = $active; return $this; } /** * @return $this */ public function setInternalKey(string $internal_key) { $this->internalKey = $internal_key; return $this; } /** * @return $this */ public function setKey(?string $key) { $this->key = $key; return $this; } /** * @return $this */ public function setParent(?Option $parent = null) { $this->parent = $parent; $this->key = $parent->getKey(); return $this; } /** * @return $this */ public function setText(array $text) { $this->text = $text; return $this; } }