假设我有一个Setting
实体,其中包含IntValue
,dateValue
,stringValue
等字段以及一些链接的实体,例如countries (ManyToMany to entity Country)
,{{1等等。
设置由用户创建并分配给特定对象(这里不重要,但我想澄清一下)。
现在我突然需要languages (ManyToMany to Language)
,这将是相同的,但有额外的UserDefaultSetting
字段(ManyToOne到user
实体)。
我尝试扩展现有的User
实体类,并添加了一个字段。问题是,当我查看架构更新SQL时,它为新实体创建了新表,但没有ORM连接所需的所有表(主要是ManyToMany)。只有一个带有“标量”字段的表。
所以之前我有Setting
表setting
,int_value
等,还有date_value
和setting_country
表,链接了ManyToMany关系。创建子实体后,Doctrine仅创建setting_language
表user_default_setting
,int_value
等,另外date_value
列,但我看不到任何关系/链接表。< / p>
我知道我应该用抽象基础实体类来做,但在我开始的时候,我不知道,现在项目的一部分正在制作中(不要那样看着我,我责怪客户)我现在不想改变那个“基础”课程。我能以一种可行的方式从非抽象实体类继承所有内容吗?
更新:一切都解释了。见Cerad的评论。谢谢!