Идея состоит в том, что расширение моего класса Employee
и установка моего свойства isManager
сохранит его как истинное в базе данных при создании сущности DepartmentHead. Это не работает Кто-нибудь знает, почему сущности DepartmentHead хранятся с isManager
, равным false?
/**
* @Entity
* @InheritanceType("JOINED")
* @DiscriminatorColumn(name="discr", type="string")
* @DiscriminatorMap({"employee" = "Employee", "dphead" = "DepartmentHead"})
*/
class Employee
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
protected $id;
/**
* @ORM\Column(type="boolean")
*/
protected static $isManager = false;
/**
* @return bool
*/
public static function isManager(): bool
{
return static::$isManager;
}
/**
* @param bool $isManager
*/
public static function setIsManager(bool $isManager): void
{
static::$isManager = $isManager;
}
}
/**
* @Entity()
*/
class DepartmentHead extends Employee
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
protected $id;
protected static $isManager = true;
}