小编use*_*526的帖子

如何使用多个数据库模式管理Doctrine查询

我有一个实体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'的路径?

php doctrine-query symfony doctrine-orm

7
推荐指数
1
解决办法
2015
查看次数

标签 统计

doctrine-orm ×1

doctrine-query ×1

php ×1

symfony ×1