diff --git a/lib/Doctrine/ORM/Tools/Pagination/Paginator.php b/lib/Doctrine/ORM/Tools/Pagination/Paginator.php index 0aa7dc7b8..c45e2501b 100755 --- a/lib/Doctrine/ORM/Tools/Pagination/Paginator.php +++ b/lib/Doctrine/ORM/Tools/Pagination/Paginator.php @@ -258,13 +258,19 @@ class Paginator implements \Countable, \IteratorAggregate $parser = new Parser($countQuery); $parameterMappings = $parser->parse()->getParameterMappings(); - $parameters = $countQuery->getParameters(); - foreach ($parameters as $k => $param){ - if( ! array_key_exists($param->getName(), $parameterMappings)) { - $parameters->remove($k); + /* @var $parameters \Doctrine\Common\Collections\Collection|\Doctrine\ORM\Query\Parameter[] */ + $parameters = $countQuery->getParameters(); + + foreach ($parameters as $key => $parameter) { + $parameterName = $parameter->getName(); + + if( ! (isset($parameterMappings[$parameterName]) || array_key_exists($parameterName, $parameterMappings))) { + unset($parameters[$key]); } } + $countQuery->setParameters($parameters); + return $countQuery; } }