From 161ae31a7e044a7f0dda357ed271215f2317e9a5 Mon Sep 17 00:00:00 2001 From: Guilherme Blanco Date: Tue, 29 May 2012 14:41:32 -0400 Subject: [PATCH] Adde more BC compatibility in setParameters. --- lib/Doctrine/ORM/AbstractQuery.php | 11 ++++++++++- tests/Doctrine/Tests/ORM/Functional/QueryTest.php | 8 ++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/lib/Doctrine/ORM/AbstractQuery.php b/lib/Doctrine/ORM/AbstractQuery.php index 94a76f64136..d3e661071af 100644 --- a/lib/Doctrine/ORM/AbstractQuery.php +++ b/lib/Doctrine/ORM/AbstractQuery.php @@ -186,8 +186,17 @@ function ($parameter) use ($key) */ public function setParameters($parameters) { + // BC compatibility with 2.3- if (is_array($parameters)) { - $parameters = new ArrayCollection($parameters); + $parameterCollection = new ArrayCollection(); + + foreach ($parameters as $key => $value) { + $parameter = new Query\Parameter($key, $value); + + $parameterCollection->add($parameter); + } + + $parameters = $parameterCollection; } $this->parameters = $parameters; diff --git a/tests/Doctrine/Tests/ORM/Functional/QueryTest.php b/tests/Doctrine/Tests/ORM/Functional/QueryTest.php index 19a804b4d55..fd1e1470315 100644 --- a/tests/Doctrine/Tests/ORM/Functional/QueryTest.php +++ b/tests/Doctrine/Tests/ORM/Functional/QueryTest.php @@ -165,6 +165,14 @@ public function testSetParameters() $users = $q->getResult(); } + public function testSetParametersBackwardsCompatible() + { + $q = $this->_em->createQuery('SELECT u FROM Doctrine\Tests\Models\CMS\CmsUser u WHERE u.name = ?1 AND u.status = ?2'); + $q->setParameters(array(1 => 'jwage', 2 => 'active')); + + $users = $q->getResult(); + } + /** * @group DDC-1070 */