[DoctrineBridge] Bypass the db when no valid identifier is provided in ORMQueryBuilderLoader

This commit is contained in:
Nicolas Grekas 2015-06-18 17:17:34 +02:00
parent 45579fd7cd
commit 086c58c716
2 changed files with 5 additions and 2 deletions

View File

@ -95,6 +95,9 @@ class ORMQueryBuilderLoader implements EntityLoaderInterface
} else {
$parameterType = Connection::PARAM_STR_ARRAY;
}
if (!$values) {
return array();
}
return $qb->andWhere($where)
->getQuery()

View File

@ -56,7 +56,7 @@ class ORMQueryBuilderLoaderTest extends \PHPUnit_Framework_TestCase
$query->expects($this->once())
->method('setParameter')
->with('ORMQueryBuilderLoader_getEntitiesByIds_id', array(), $expectedType)
->with('ORMQueryBuilderLoader_getEntitiesByIds_id', array(1, 2), $expectedType)
->willReturn($query);
$qb = $this->getMockBuilder('Doctrine\ORM\QueryBuilder')
@ -72,7 +72,7 @@ class ORMQueryBuilderLoaderTest extends \PHPUnit_Framework_TestCase
->from($classname, 'e');
$loader = new ORMQueryBuilderLoader($qb);
$loader->getEntitiesByIds('id', array());
$loader->getEntitiesByIds('id', array(1, 2));
}
public function testFilterNonIntegerValues()