我针对实体的查询,但当然我问实例学说的EntityManager我严肃的问题:ZF2 +查询实体Doctrine2
由于实例化的EntityManager在实体使用。
请原谅我的英语,我使用谷歌真相XD,因为没有在西班牙语中使用ZF2社区和Doctrine2。
我针对实体的查询,但当然我问实例学说的EntityManager我严肃的问题:ZF2 +查询实体Doctrine2
由于实例化的EntityManager在实体使用。
请原谅我的英语,我使用谷歌真相XD,因为没有在西班牙语中使用ZF2社区和Doctrine2。
如果我理解了你的问题,你想在你的Doctrine实体中获得entityManager
,对吧?
我不认为在您的Doctrine实体中使用EntityManager是个好主意。但为此,您需要首先获取实体类中的服务管理器实例。
默认情况下,Zend Framework的MVC注册一个初始化,将注入的ServiceManager的实例,这是
Zend\ServiceManager\ServiceLocatorInterface
的实现,为实现Zend\ServiceManager\ServiceLocatorAwareInterface
教义任何类,我们必须让服务经理可在实体中使用。所以你必须为每个实体实现ServiceLocatorAwareInterface
或者更简单的创建一个实现Zend\ServiceManager\ServiceLocatorAwareInterface
的类,然后简单地让需要访问服务管理器的实体继承这个类。
这里是一个很好的职位上HOW TO INJECT ZF2 SERVICE MANAGER INTO DOCTRINE ENTITIES
以下这篇文章,你可以简单地得到您的实体内entityManager
这样的:
$em = $this->getServiceLocator()->get('Doctrine\ORM\EntityManager');
谢谢,这正是我需要和它的作品。 现在你告诉我这不是好的做法,所以现在我有另一个问题。 如果我不能从实体调用EntityManager,我应该去哪里查询。这个咨询应该在司机还是在哪里? – 2015-04-02 18:26:38
很高兴它可以帮助;)如果这解决了您的问题,请将问题标记为已接受。对于你的问题,你可以看看这个:http://stackoverflow.com/questions/4108291/using-entitymanager-inside-doctrine-2-0-entities#answer-4109458。 – blackbishop 2015-04-02 18:34:01