tigroid3
@tigroid3
PHP, YII2, SQL, Postgres, Docker, SPHINX, GIT

Как подменить db connection у entity manager репозитория на лету в Symfony?

Есть 2 подключения к бд, в этих базах есть идентичные таблицы user_addresses.
Есть репозиторий, который описан по дефолту как
App\Entity\Repository\UserAddressRepository:
        factory: ['@doctrine.orm.default_entity_manager', getRepository]
        arguments:
            - App\Entity\UserAddress

Я хочу в зависимости от определенных конфигов и условий использовать для репозитория либо один, либо другой коннекш, но не понимаю как это красиво и правильно сделать. В доке ничего про подобное не сказано, entity manager сетится всегда в конфиге и никаких других вариантов как в него подложить нужный мне коннекшн
  • Вопрос задан
  • 94 просмотра
Пригласить эксперта
Ответы на вопрос 1
uDenX
@uDenX
PHP Developer
https://symfony.com/doc/current/doctrine/multiple_...

// Retrieves a repository managed by the "default" entity manager
        $products = $doctrine->getRepository(Product::class)->findAll();

        // Explicit way to deal with the "default" entity manager
        $products = $doctrine->getRepository(Product::class, 'default')->findAll();

        // Retrieves a repository managed by the "customer" entity manager
        $customers = $doctrine->getRepository(Customer::class, 'customer')->findAll();
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽