Doctrine orm doctrine2sti:如何更改描述符列值?

Doctrine orm doctrine2sti:如何更改描述符列值?,doctrine-orm,typo3-flow,Doctrine Orm,Typo3 Flow,我有用户可以购买使用的对象 背包。背包有不同的类型,所以我想我会使用原则文件中描述的STI: 这很好,而且有效。有人可以购买BasicBackPack或LargeBackPack,当从存储库中收集实体时,会创建正确的类 这一切都很好 我现在的问题是,我希望人们能够将BasicBackPack升级为LargeBackPack,但我发现我无法更改描述符列的值。当我尝试时,条令抱怨x类中没有“描述符列”,但正如我在数据库中看到的那样 创建实体后,是否无法更改描述符列值?您好,请显示原始错误消息。如何

我有用户可以购买使用的对象

背包。背包有不同的类型,所以我想我会使用原则文件中描述的STI:

这很好,而且有效。有人可以购买BasicBackPack或LargeBackPack,当从存储库中收集实体时,会创建正确的类

这一切都很好

我现在的问题是,我希望人们能够将BasicBackPack升级为LargeBackPack,但我发现我无法更改描述符列的值。当我尝试时,条令抱怨x类中没有“描述符列”,但正如我在数据库中看到的那样


创建实体后,是否无法更改描述符列值?

您好,请显示原始错误消息。如何尝试更改discriminator列的值?我尝试在实体模型中创建一个getter和setter,但如果我这样做,原则会抱怨没有称为descriminator的属性。如果我随后为描述符定义属性,则条令会抱怨该属性已经存在(在条令创建的DB中,它确实存在,但在我的模型中没有定义任何属性)。doctrine似乎不希望您能够更改描述符的值,这是因为您将其称为描述符吗?您能否尝试将所有属性从BasicBackPack复制到LargeBackPack?这样,您将创建正确的实体LargeBackPack。