2012-06-07 35 views
1

我有一个Symfony2的单元测试中,我得到的实体管理器这样的:获取Symfony2的测试非默认EM

$this->_em = $kernel->getContainer()->get('doctrine.orm.entity_manager'); 

这对于默认实体管理器工作正常,但我想另一个实体经理叫做core,除了default之外还有一个实体经理。我怎样才能做到这一点?

我想这只是踢和它没有工作:

$this->_em = $kernel->getContainer()->get('doctrine.orm.entity_managers.core'); 
+0

GET('doctrine.orm.core_entity_manager ')也应该起作用。如果您想将核心em传递给服务,这很有用。 PHP控制台容器:调试也是一个有用的命令。 – Cerad

回答

1

尝试这样的:

$kernel->getContainer()->get('doctrine')->getEntityManager('core') 

你应该阅读this page

+0

它不喜欢它。 '致命错误:调用未定义的方法appTestDebugProjectContainer :: getDoctrine()在第16行的/home/jason/pressbox/src/VNN/PressboxBundle/Tests/Entity/UserTest.php' –

+0

请参阅我的编辑。我修好了它 – greg0ire

+0

工作。谢谢。 –