获取学说鉴别符值

时间:2018-07-17 10:02:16

标签: doctrine discriminator

我目前正在网站上开发一项新功能,并创建了该父类:

/**
 * CustomPageSuggestedContent
 * @ORM\Entity()
 * @ORM\InheritanceType("SINGLE_TABLE")
 * @ORM\DiscriminatorColumn(name="type", type="string")
 * @ORM\DiscriminatorMap({
 *     "Book" = "CustomPageSuggestedBook",
 *     "Training" = "CustomPageSuggestedTraining"
 * })
 */
abstract class CustomPageSuggestedContent
{
  ...
}

我想获取所有鉴别值。这可能吗? 对我来说,最佳解决方案是在我的类中包含一个静态函数,该函数在我的情况下返回“ Book”和“ Training”。

1 个答案:

答案 0 :(得分:0)

找到了解决方案,我需要在控制器中更上一层楼。此代码返回鉴别符映射:

$em = $this->getDoctrine()->getManager();
$classMetadata = $em->getClassMetadata(CustomPageSuggestedContent::class);
$discriminatorMap = $classMetadata->discriminatorMap;