Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 使用与多个实体管理器的关系_Symfony_Doctrine Orm - Fatal编程技术网

Symfony 使用与多个实体管理器的关系

Symfony 使用与多个实体管理器的关系,symfony,doctrine-orm,Symfony,Doctrine Orm,我想知道是否有可能在驻留在不同数据库中的两个实体之间创建关系 例如,如果我们采用此处找到的解决方案,并与客户数据库中的用户建立一对多关系,以在默认数据库中发布 这是Symfony2和条令所支持的吗?使用不同的对象管理器(实体管理器)不允许对象图相交。那件案子太复杂了,不是由ORM管理的 如果需要这种情况,请通过保存相关对象(旧式)的标识符而不是对它们的引用来保持对象图的断开连接,然后通过服务手动获取对象。您可以找到一个相当好的示例,说明这将如何在应用程序中工作。或者,您也可以使用@PostLoa

我想知道是否有可能在驻留在不同数据库中的两个实体之间创建关系

例如,如果我们采用此处找到的解决方案,并与客户数据库中的用户建立一对多关系,以在默认数据库中发布


这是Symfony2和条令所支持的吗?

使用不同的对象管理器(实体管理器)不允许对象图相交。那件案子太复杂了,不是由ORM管理的

如果需要这种情况,请通过保存相关对象(旧式)的标识符而不是对它们的引用来保持对象图的断开连接,然后通过服务手动获取对象。您可以找到一个相当好的示例,说明这将如何在应用程序中工作。或者,您也可以使用
@PostLoad
事件侦听器,通过在示例中链接的存储库创建链接来填充实体中的数据。对于
@PostPersist
(应该提取相关对象的标识符)也是如此,但是要注意,这种技术可能会变得非常混乱


此外,如果您的RDBMS在单个主机上支持跨数据库操作,那么您可以使用单个EntityManager并使用
@ORM\table(name=“schemaname.tablename”)

引用另一个表。如果您的RDBMS在单个主机上支持跨数据库操作,那么您可以使用单个EntityManager并引用另一个表。非常好的建议。谢谢发现条令仅在使用一个实体管理器和多个数据库时检测
default\u连接
表中的模式更改。有没有解决这个问题的想法?@noisebleed自文档:$php应用程序/控制台原则:schema:update--force--em=customer。阅读这里的更多内容:@DonCallisto据我所知,没有更新的方法。是的,“Table”注释有一个“schema”属性,因为ORM的一些次要版本