Как получить EntityManager внутри веб-сайтов в Symfony2
Мне было интересно, как я могу получить entitymanager внутри
Экземпляр WebTestCase.
например. посмотреть, действительно ли объект был создан в БД во время тестирования.
Любые идеи по этому поводу?
Ответы
Ответ 1
Вы можете получить DIC (контейнер для инъекций зависимостей) через ядро, которое является защищенным членом WebTestCase.
Вы можете сделать это из своего WebTestCase:
$em = $this->kernel->getContainer()->get('doctrine.orm.entity_manager');
Обновление
Из вашего собственного комментария есть даже ярлык для этого (так как у вас все равно будет клиент):
$client = $this->getClient();
$container = $client->getContainer();
Как упомянутый в документах.
Ответ 2
Если у вас есть клиент, вы можете получить от него диспетчер сущностей
$em = $client->getContainer()->get('doctrine.orm.entity_manager');
не использовать getEntityManager устарел с Symfony 2.1.
наслаждайтесь:)
Ответ 3
$this->container->get('doctrine.orm.entity_manager');