我有一个问题。我一直在等待 Doctrine 2 中的 DiscriminatorColumn 注释,但现在我通过更新Doctrine得到了它,我无法找到 Hibernate' s DiscriminatorValue 在Doctrine中等效的注释。仅供参考,我的学说版本是" doctrine / orm":" ^ 2.5.6" " doctrine / doctrine-bundle":" ~1.6"但我找不到这样的注释。
我的基本愿望是将每个子类的Discriminator Column值设置为 DiscriminatorMap 中的主类。
答案 0 :(得分:0)
就像我的评论所述,我也有这个问题,我想在子类上“声明”新的DiscriminatorMap条目。简短的回答是:根本不要声明地图。学说照顾它。
阅读我的full answer。这对我使用Class Table Inheritance (CTI)很有用,文档声明它对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
{
// ...
}