Привет всем, я пытаюсь создать 2 entityManager для одного объекта в Symfony4, но у меня есть некоторые проблемы с этим.
Когда я сохраняю сущность, она работает (например, если у меня есть две сущности Mananagers: Customer и Default, когда я использую Customer или Default для сохранения), но когда я хочу использовать Repository, первая сущность Managare в doctrine.yaml< /strong> используется всегда. Я должен сделать это, потому что у меня есть 2 базы данных. Один в Интернете и один в моей интрасети, которую я создал, и я ищу, чтобы сделать это, например, когда пользователь нажимает одну кнопку. Он обновляет базу данных в Интернете.
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 я не нашел решения на форуме).
Спасибо. (И извините за мой плохой английский)