Задать вопрос
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 сетится всегда в конфиге и никаких других вариантов как в него подложить нужный мне коннекшн
  • Вопрос задан
  • 130 просмотров
Подписаться 1 Сложный Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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();
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽