ZF2 + 查询实体 Doctrine2

ZF2 + query entity Doctrine2

我正在查询一个实体,但我当然被要求实例化 doctrine entityManager 我的严肃问题:

实例化 EntityManager 以在实体中使用。

请原谅我的英语,我正在使用 google 真相 XD,因为不符合西班牙语的 ZF2 社区和 Doctrine2。

如果我理解你的问题,你想在你的 Doctrine 实体中获取 entityManager,对吗?

我认为在 Doctrine 实体中使用 EntityManager 不是个好主意。但是为此,您首先需要在实体 class.

中获取服务管理器的实例

By default, the Zend Framework MVC registers an initializer that will inject the ServiceManager instance, which is an implementation of Zend\ServiceManager\ServiceLocatorInterface, into any class implementing Zend\ServiceManager\ServiceLocatorAwareInterface

对于 Doctrine,我们必须让服务管理器在实体中可用。因此,您必须为每个实体实现 ServiceLocatorAwareInterface 或更简单地创建一个实现 Zend\ServiceManager\ServiceLocatorAwareInterface 的 class,然后简单地使需要访问服务管理器的实体继承自此 class.

HOW TO INJECT ZF2 SERVICE MANAGER INTO DOCTRINE ENTITIES

post[=]

按照此 post,您可以像这样在您的实体中简单地获取 entityManager

$em = $this->getServiceLocator()->get('Doctrine\ORM\EntityManager');