container = $container; } private function getEntityManager(): EntityManager { if (!$this->entityManager) { /** @var EntityManager $entityManager */ $entityManager = $this->container->get('entityManager'); $this->entityManager = $entityManager; } return $this->entityManager; } public function getNewEntity(string $entityType): Entity { return $this->getEntityManager()->getNewEntity($entityType); } public function getEntityById(string $entityType, string $id): ?Entity { return $this->getEntityManager()->getEntityById($entityType, $id); } public function getEntity(string $entityType, ?string $id = null): ?Entity { return $this->getEntityManager()->getEntity($entityType, $id); } /** * @param array $options * @return void */ public function saveEntity(Entity $entity, array $options = []) { /** Return for backward compatibility. */ /** @phpstan-ignore-next-line */ return $this->getEntityManager()->saveEntity($entity, $options); } /** * @return Repository */ public function getRepository(string $entityType): Repository { return $this->getEntityManager()->getRepository($entityType); } /** * @return RDBRepository */ public function getRDBRepository(string $entityType): RDBRepository { return $this->getEntityManager()->getRDBRepository($entityType); } public function getMetadata(): Metadata { return $this->getEntityManager()->getMetadata(); } public function getSqlExecutor(): SqlExecutor { return $this->getEntityManager()->getSqlExecutor(); } }