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

时间:2015-08-04 15:29:33

标签: symfony doctrine-orm entity-relationship multi-database

我有一个主数据库,它托管我的用户的所有主数据和交易详情。

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

A代表我的用户,B和C代表管理员应用程序。 (基本上这些是针对我公司内部的不同部门,与master数据库中的信息完全不同)。主数据库由A提供,但也应该能够被B和C修改。

让我们在B中说,我需要为在A中创建帐户的用户分配活动,并将该信息存储在B的本地数据库中。

我一直在思考这个一个月:我如何使用B中的用户实体(来自A),这样我仍然可以做类似的事情:

$activity = new Activity();
$activity->setUser($user);

或类似的东西:

$activity->getUser(); 

如果信息需要来自两个不同的数据库,如何维护对象关系?

我对这种工作方式很陌生。我是否需要使用AbstractClasses,API或其他东西?

如果某人至少有一些关于我应该如何考虑的提示,我将非常感激。

修改 这是否意味着我需要有两个实体类,例如用户实体?一个在A中,一个在B中(可能一个在C中)。

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

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

换句话说,我如何将来自数据库的相同数据以不同方式映射到多个软件中的实体。

1 个答案:

答案 0 :(得分:1)

您需要在配置中设置多个实体管理器。 This link will teach you how.