Doctrine2 / Symfony2 - 同一张表上的多个实体

2024-04-30

在 Symfony2 应用程序中我有一个主包以及可以启用或不启用的不同捆绑包。在里面主包我需要有Model和一个基本的Entity. In an 其他捆绑包 an Entity具有相同的表名Entity in 主包.

MainBundle 中的装置需要加载或不加载除 MainBundle 之外的其他包:

MainBundle
- Model 
- Entity (Table name "test")
- Fixtures 

OtherBundle
- Entity (Table name "test")
- Fixtures

OtherBundle2
- Entity (Table name="test")
- Fixtures

如果我使用@ORM\MappedSuperclass为了Model, a @ORM\实体为了Entity in 主包 and @ORM\实体 in 其他捆绑包然后 Doctrine2 停止并出现错误“表已存在”。

我无法使用继承表,因为我的模型不需要了解其他捆绑包中的其他实体。这@ORM\DiscriminatorMap无法指向其他捆绑包.

有没有办法做到这一点 ?


正如 Jasper N. Brouwer 所提到的,它本质上是相同的实体和相同的表,所以做你想做的事情是没有意义的。

在名为“SharedEntityBundle”的包中创建实体并使用解析目标实体与其他捆绑包中的该实体相关,而彼此不了解。

http://symfony.com/doc/current/cookbook/doctrine/resolve_target_entity.html http://symfony.com/doc/current/cookbook/doctrine/resolve_target_entity.html

话虽如此,似乎有一个具有多个实体管理器的解决方案:Symfony 2 / Doctrine 2:同一张表的两个实体,使用一个实体代替另一个实体 https://stackoverflow.com/questions/23955978/symfony-2-doctrine-2-two-entities-for-the-same-table-use-one-in-favour-of-th

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Doctrine2 / Symfony2 - 同一张表上的多个实体 的相关文章

随机推荐