Doctrine 2 中的 Hibernate DiscriminatorValue 等价物

Hibernate DiscriminatorValue equivalent in Doctrine 2

我有一个问题。我一直在等待 Doctrine 2 中的 DiscriminatorColumn 注释,但现在我通过更新 Doctrine 获得了它,我无法找到 Hibernate 的 DiscriminatorValue 注解等同于 Doctrine。仅供参考,我的学说版本是 "doctrine/orm": "^2.5.6" 和 "doctrine/doctrine-bundle": "~1.6" 但我找不到这样的注释。

我在这里的基本愿望是根据 child class 设置鉴别器列值,而不是 DiscriminatorMap 中的主要 class。

正如我的评论所述,我前阵子也遇到过这个问题,我想 "declare" child-类 上的新 DiscriminatorMap 条目。简短的回答是:根本不声明地图。教义会照顾它。

读一读我的 . This works for me using Class Table Inheritance (CTI), the docs state that it should work the same for Single Table Inheritance (STI)

让 Doctrine 为您处理的基本代码设置是:

<?php
namespace My\Namespace\Entity;

/**
 * @Entity
 * @InheritanceType("JOINED")
 * @DiscriminatorColumn(name="discr", type="string")
 * // NOTE: No DiscriminatorMap!!!
 */
class Person
{
    // ...
}


<?php
namespace My\Other\Namespace\Entity;

/** @Entity */
class Employee extends \My\Namespace\Entity\Person
{
    // ...
}