Symfony2:如何处理来自另一个数据库的数据?

Symfony2:如何处理来自另一个数据库的数据?,symfony,doctrine-orm,entity-relationship,multi-database,Symfony,Doctrine Orm,Entity Relationship,Multi Database,我有一个主数据库,它承载我的用户的所有主数据库和事务详细信息 现在我希望有3个web应用程序(symfony2)连接到此数据库,A、B和C。它们都有一个本地数据库 A代表我的用户,B和C代表管理员应用程序。(基本上,这些都是针对我公司内的不同部门,它们利用主数据库中的信息做着截然不同的事情)。主数据库由A提供,但也应该能够被B和C修改 假设在B中,我需要将一个活动分配给在a中创建帐户的用户,并将该信息存储在B的本地数据库中 一个月以来,我一直在思考这个问题:我如何与B中的用户实体(来自a)合作,

我有一个主数据库,它承载我的用户的所有主数据库和事务详细信息

现在我希望有3个web应用程序(symfony2)连接到此数据库,A、B和C。它们都有一个本地数据库

A代表我的用户,B和C代表管理员应用程序。(基本上,这些都是针对我公司内的不同部门,它们利用主数据库中的信息做着截然不同的事情)。主数据库由A提供,但也应该能够被B和C修改

假设在B中,我需要将一个活动分配给在a中创建帐户的用户,并将该信息存储在B的本地数据库中

一个月以来,我一直在思考这个问题:我如何与B中的用户实体(来自a)合作,以便我仍然能够执行以下操作:

$activity = new Activity();
$activity->setUser($user);
或者类似于:

$activity->getUser(); 
如果信息需要来自两个不同的数据库,如何维护对象关系

我对这种工作方式很陌生。我是否需要使用抽象类、API或其他东西

如果有人能告诉我应该如何考虑,我会非常感激

编辑: 这是否意味着我需要有两个实体类,例如,用户实体?一个在A,一个在B(可能还有一个在C)

问题是在A中,用户实体与B中的其他实体有关系。记住A和B是不同的软件

我想也许我应该有一个在a和B中都使用的可重复使用的包?但问题是,有些实体在A中拥有的关系在B中并不存在


换句话说,我如何将相同的数据从数据库不同地映射到多个软件中的实体

您需要在配置中设置多个实体管理器

@Yoshi的可能重复:我已经更新了我的问题。我想,对于你来说,链接答案中最重要的一点是:“使用不同的对象管理器(实体管理器)不允许对象图相交。”在这里,你可以用“数据库”代替“对象管理器”。另外,我认为,当与一个实体经理合作时,可能是一本很好的读物。