Example #1
0
 public function getRoot(ManagedRepositoryInterface $repository)
 {
     $className = $repository->getClassName();
     if (!isset($this->nodes[$className]) || !isset($this->nodes[$className]['_root'])) {
         throw new \InvalidArgumentException(sprintf('No root node exists for repository %s', $repository->getName()));
     }
     return $this->nodes[$className]['_root'];
 }
 /**
  * Register a repository
  *
  * @param ManagedRepositoryInterface $repository
  * @return $this
  * @throws \LogicException
  */
 public function registerRepository(ManagedRepositoryInterface $repository)
 {
     $name = $repository->getName();
     if ($this->hasRepository($name)) {
         throw new \LogicException(sprintf('Repository %s is already registered.', $name));
     }
     $event = new ManagedRepositoryEvent($repository);
     $this->eventDispatcher->dispatch(ManagedRepositoryEvent::REGISTER, $event);
     $repository = $event->getRepository();
     $this->repositories[$name] = $repository;
     $this->classMap[$repository->getClassName()] = $name;
     return $repository;
 }
Example #3
0
 /**
  * @param ManagedRepositoryInterface $repository
  * @param Request $request
  * @return \Doctrine\ORM\QueryBuilder
  */
 protected function createQueryBuilder(ManagedRepositoryInterface $repository, Request $request)
 {
     return $repository->createQueryBuilder($repository->getName());
 }
Example #4
0
 /**
  * @return int|mixed
  */
 public function getCount()
 {
     $alias = $this->repository->getName();
     return $this->queryBuilder->select("COUNT({$alias})")->getQuery()->getSingleScalarResult();
 }