【发布时间】:2018-02-28 03:22:35
【问题描述】:
大家好,我正在尝试为 Symfony4 中的一个实体设置 2 个 entityManager,但我在执行此操作时遇到了一些麻烦。
当我持久化一个实体时,它可以工作,(例如,如果有两个实体管理器:客户和默认值,当我使用客户或默认值来持久化时)但是当我想使用存储库时,学说中的第一个实体 Managare始终使用 .yaml。 我必须这样做,因为我有 2 个数据库。例如,当用户单击一个按钮时,我创建并搜索的一个在 Internet 中,一个在我的 Intranet 中。它更新互联网上的数据库。
config/packages/doctrine.yaml
doctrine:
dbal:
default_connection: default
connections:
default:
driver: pdo_mysql
host: **************
port: 3306
dbname: intranetDb
user: **********
password: *****
charset: UTF8
customer:
driver: pdo_mysql
host: internetDb
port: 3306
dbname: *********
user: *********
password: *********
charset: UTF8
orm:
default_entity_manager: default
entity_managers:
default:
connection: default
auto_mapping: false
mappings:
Main:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: Main
customer:
connection: customer
auto_mapping: false
mappings:
Customer:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: Main
MyController.php
..
$drug = $this->getDoctrine()->getRepository(Drug::class,'customer')->findAll() ;
..
这段代码总是给我default里面的数据,如果我把customer放在orm里面,customer总是给出。
欢迎一些帮助,因为我这几天遇到了这个问题,我没有解决这个问题的想法(可能是因为我在论坛中没有找到解决方案的 symfony 版本)。
谢谢。(对不起我的英语不好)
【问题讨论】:
标签: repository entity entitymanager symfony4