Пример #1
0
 /**
  * @param IQueryable $repository
  * @return Doctrine\ORM\Query
  */
 protected function getQuery(IQueryable $repository)
 {
     $query = $this->doCreateQuery($repository);
     if ($query instanceof Doctrine\ORM\QueryBuilder) {
         return $this->lastQuery = $query->getQuery();
     } elseif ($query instanceof Doctrine\ORM\Query) {
         return $this->lastQuery = $query;
     }
     $class = $this->getReflection()->getMethod('doCreateQuery')->getDeclaringClass();
     throw new Nette\InvalidStateException("Method " . $class . "::doCreateQuery() must return" . " instanceof Doctrine\\ORM\\Query or instaceof Doctrine\\ORM\\QueryBuilder, " . Kdyby\Tools\Mixed::getType($query) . " given.");
 }
Пример #2
0
 /**
  * @return object
  * @throws \Kdyby\UnexpectedValueException
  */
 protected function createNewEntity()
 {
     $className = $this->getClassName();
     if ($factory = $this->getEntityFactory()) {
         $parentEntity = $this->getParentEntity();
         $related = $factory($parentEntity, $this);
         if (!$related instanceof $className) {
             throw new \Nette\UnexpectedValueException('Factory of CollectionContainer ' . $this->name . 'must return an instance of "' . $className . '", ' . Kdyby\Tools\Mixed::getType($related) . ' returned.');
         }
     } else {
         $related = new $className();
     }
     return $related;
 }