Doctrine 2中的类表继承映射:如何从实体获取类型信息

时间:2011-12-09 09:38:13

标签: doctrine-orm

使用类表继承,

/**
 * @Entity
 * @InheritanceType("JOINED")
 * @DiscriminatorColumn(name="discr", type="string")
 * @DiscriminatorMap({"person" = "Person", "employee" = "Employee"})
 */
class Person

如何从实体获取类型信息?由于discr是数据库列,而不是实体的属性?

1 个答案:

答案 0 :(得分:6)

您可以在父类中创建抽象方法getKind(),并在子类中实现它,如

public function getKind()
{
  return 'employee';
}