diff --git a/src/Symfony/Bridge/Doctrine/Form/ChoiceList/ORMQueryBuilderLoader.php b/src/Symfony/Bridge/Doctrine/Form/ChoiceList/ORMQueryBuilderLoader.php index 8796d5e072..6e16240d29 100644 --- a/src/Symfony/Bridge/Doctrine/Form/ChoiceList/ORMQueryBuilderLoader.php +++ b/src/Symfony/Bridge/Doctrine/Form/ChoiceList/ORMQueryBuilderLoader.php @@ -30,7 +30,7 @@ class ORMQueryBuilderLoader implements EntityLoaderInterface * * This property should only be accessed through queryBuilder. * - * @var QueryBuilder|null + * @var QueryBuilder */ private $queryBuilder; @@ -68,7 +68,7 @@ class ORMQueryBuilderLoader implements EntityLoaderInterface $queryBuilder = $queryBuilder($manager->getRepository($class)); - if (null !== $queryBuilder && !$queryBuilder instanceof QueryBuilder) { + if (!$queryBuilder instanceof QueryBuilder) { throw new UnexpectedTypeException($queryBuilder, 'Doctrine\ORM\QueryBuilder'); } } @@ -81,10 +81,6 @@ class ORMQueryBuilderLoader implements EntityLoaderInterface */ public function getEntities() { - if (null === $this->queryBuilder) { - return array(); - } - return $this->queryBuilder->getQuery()->execute(); } @@ -93,10 +89,6 @@ class ORMQueryBuilderLoader implements EntityLoaderInterface */ public function getEntitiesByIds($identifier, array $values) { - if (null === $this->queryBuilder) { - return array(); - } - $qb = clone ($this->queryBuilder); $alias = current($qb->getRootAliases()); $parameter = 'ORMQueryBuilderLoader_getEntitiesByIds_'.$identifier; diff --git a/src/Symfony/Bridge/Doctrine/Form/Type/EntityType.php b/src/Symfony/Bridge/Doctrine/Form/Type/EntityType.php index 3a80ab0327..7e0c6cb6cd 100644 --- a/src/Symfony/Bridge/Doctrine/Form/Type/EntityType.php +++ b/src/Symfony/Bridge/Doctrine/Form/Type/EntityType.php @@ -30,7 +30,7 @@ class EntityType extends DoctrineType if (is_callable($queryBuilder)) { $queryBuilder = call_user_func($queryBuilder, $options['em']->getRepository($options['class'])); - if (!$queryBuilder instanceof QueryBuilder) { + if (null !== $queryBuilder && !$queryBuilder instanceof QueryBuilder) { throw new UnexpectedTypeException($queryBuilder, 'Doctrine\ORM\QueryBuilder'); } } diff --git a/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php b/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php index 307b68fd32..999883eb8d 100644 --- a/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php +++ b/src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php @@ -215,7 +215,7 @@ class EntityTypeTest extends TypeTestCase public function testConfigureQueryBuilderWithClosureReturningNull() { - $field = $this->factory->createNamed('name', 'entity', null, array( + $field = $this->factory->createNamed('name', 'Symfony\Bridge\Doctrine\Form\Type\EntityType', null, array( 'em' => 'default', 'class' => self::SINGLE_IDENT_CLASS, 'query_builder' => function () {