我有一个实体A,其关系是ManyToOne与B,但A和B不属于同一个DB模式.
实体"A"属于MyBundle包,实体"B"属于MyOtherBundle包.
官方文档说明了如何使用不同的连接:多个模式=多个实体管理器.但就我而言,我想加入两个实体.
通过做 :
$this->objEm->getRepository('MyBundle:MyEntity')->find($id);
Run Code Online (Sandbox Code Playgroud)
要么
$this->objEm->getRepository('MyBundle:MyEntity')->getMyResult($id);
Run Code Online (Sandbox Code Playgroud)
我只调用我的一个存储库,我猜他无法得到另一个,因为在我的config.yml中我只能选择一个连接.
doctrine:
dbal:
connections:
connection1:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_schema1_user%"
password: "%database_schema1_password%"
service: "%database_service%"
charset: "Windows-1252"
connection2:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_schema2_user%"
password: "%database_schema2_password%"
service: "%database_service%"
charset: "Windows-1252"
orm:
entity_managers:
em1:
connection: connection1
mappings:
MyBundle: ~
MyOtherBundle: ~
em2:
connection: connection2
mappings:
MyOtherBundle: ~
Run Code Online (Sandbox Code Playgroud)
结果:糟糕,看起来出了问题.
1/1ReflectionException:类FQCN\Of\MyBundle\Entity\B不存在...
"我知道它不存在,我希望你现在看看好地方:比如在FQCN\Of\MyOtherBundle\Entity\B"
如何强制实体'B'的路径?