Пример использования ObjectManagerAware внутри сущности - PullRequest
1 голос
/ 29 марта 2019

Я бы хотел использовать менеджер сущностей внутри сущности и не знать, как его использовать.

use Doctrine\Common\Persistence\ObjectManagerAware;
use Doctrine\Common\Persistence\ObjectManager;
use Doctrine\Common\Persistence\Mapping\ClassMetadata;

use SomeBundle\Entity\Boarding;
use SomeBundle\Entity\User;


class Entity extends ApiUserEntity implements ObjectManagerAware
{
     private $em;
     public function ___construct(User $user)
     {
         $this->board = $this->getData(123);
     }
     public function injectObjectManager(ObjectManager $objectManager, ClassMetadata $classMetadata)
     {
           $this->em = $objectManager;

     }
     private function getData($leadId)
     {
          //return gettype($this->em); //return null
            $repository =$this->em->getRepository(Boarding::class);
            $query = $repository->createQueryBuilder('b')
               ->where('b.lead = :lead')
               ->setParameter('lead', $leadId)
               ->getQuery();
             $boards = $query->getResult();
             return $boards;
      }  
}

При использовании этого кода вы получите ошибку

     Call to a member function getRepository() on null"

Менеджер сущностей также нулевой

      //return gettype($this->em); //return null

Любая идея, например, использование?

...