在我的Symfony2浏览器中,我有一个使用Doctrine 2 ORM的用户实体。游戏有两个实例,经典和速度,它们主要相互独立,并使用各自的数据库(相同的结构)。唯一的问题是用户可以连接他们的帐户,所以应该显示连接帐户的一些基本用户信息。为此,我有一个classic_id和speed_id作为连接到另一个用户实体的属性。但据我所知,这将是一个跨数据库的连接,在条令2中是不可能的。我还发现,可以有多个具有自己连接的实体管理器,但我认为它们只能应用于完整的捆绑包,对吧?
所以我需要一些解决这个问题的方法,最简单的方法是什么?
实际上有可能进行跨数据库连接,但这是一种技巧,而不是一种功能,我不建议使用它。
要在不同的实体管理器之间从一个捆绑包中分离实体,可以使用指向托管实体的"dir"属性。例如:
doctrine:
orm:
default_entity_manager: default
entity_managers:
default:
connection: default
mappings:
AppBundle:
dir: Path/To/EntityFolder1
anotherone:
connection: anotherconnection
mappings:
AppBundle:
dir: Path/To/EntityFolder2
还有一个糟糕的"前缀"选项,但我还不知道它是什么(你可以自己实验:)
问候!