Подтвердить что ты не робот

Как получить EntityManager внутри веб-сайтов в Symfony2

Мне было интересно, как я могу получить entitymanager внутри Экземпляр WebTestCase.

например. посмотреть, действительно ли объект был создан в БД во время тестирования.

Любые идеи по этому поводу?

4b9b3361

Ответ 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');