IrishkaDeutsch
@IrishkaDeutsch
stadt web studio

Как обратиться к второму соединению в Symfony 2?

Доброе утро!
Имеется вопрос.

Столкнулась с проблемой при построении запроса.
Есть две БД, database_one, database_two.
В конфигурации yml прописала два соединения base (database_one) и bigdata (database_two).
Естественно base идет по умолчанию.
Вот не могу сообразить/найти в документации, как использовать второе соединение.
Если быть более точной, то я имею понятия как обращаться к bigdata по средством getRepository
Пример
// Так мы обратимся к второй БД.
$this->get('doctrine') ->getRepository('MyBundle:MyEntity', 'bigdata')->findAll();


Но не могу разобраться, как использовать в конструкциях createQueryBuilder и createQuery для написания DQL.

Можно навести на документацию или пример.
Буду благодарна.
Спасибо ;)

Говорят вроде как Сергей Протько может подсказать =)
  • Вопрос задан
  • 2357 просмотров
Решения вопроса 2
sayber
@sayber
Да, я программирую на PHP и еще асинхронно!
Можно использовать следующее:
// Указываем к какому параметру соединения обращаться.
$em   = $this->getDoctrine()->getManager('bigdata');
// Выполняем
$query = $em->createQuery(" SELECT p FROM MyBundle:CountryCore p ");
....
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
symfony.com/doc/current/cookbook/doctrine/multiple...

так же рекомендую инкапсулировать все что связано с запросами для сущностей в свой репозиторий и регистрировать этот репозиторий как сервис. Так мы точно не допустим ситуации при которой где-то в приложении репозиторий используется не с тем энтити менеджером.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы