使用类表继承,
/**
* @Entity
* @InheritanceType("JOINED")
* @DiscriminatorColumn(name="discr", type="string")
* @DiscriminatorMap({"person" = "Person", "employee" = "Employee"})
*/
class Person
Run Code Online (Sandbox Code Playgroud)
如何从实体获取类型信息?既然discr是数据库列,而不是实体的属性?
您可以getKind()在父类中创建抽象方法,并在子类中实现它
public function getKind()
{
return 'employee';
}
Run Code Online (Sandbox Code Playgroud)