From 2c114756bd6c418bcf14dc146d78ed665bf3d515 Mon Sep 17 00:00:00 2001 From: Sander Marechal Date: Tue, 29 Oct 2013 11:10:34 +0100 Subject: [PATCH] [DDC-2764] Prefix criteria orderBy with rootAlias --- lib/Doctrine/ORM/QueryBuilder.php | 2 +- tests/Doctrine/Tests/ORM/QueryBuilderTest.php | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/Doctrine/ORM/QueryBuilder.php b/lib/Doctrine/ORM/QueryBuilder.php index 76d2e506c..56ff21a07 100644 --- a/lib/Doctrine/ORM/QueryBuilder.php +++ b/lib/Doctrine/ORM/QueryBuilder.php @@ -1098,7 +1098,7 @@ class QueryBuilder if ($criteria->getOrderings()) { foreach ($criteria->getOrderings() as $sort => $order) { - $this->addOrderBy($sort, $order); + $this->addOrderBy($this->getRootAlias() . '.' . $sort, $order); } } diff --git a/tests/Doctrine/Tests/ORM/QueryBuilderTest.php b/tests/Doctrine/Tests/ORM/QueryBuilderTest.php index 6975c1510..b18450ded 100644 --- a/tests/Doctrine/Tests/ORM/QueryBuilderTest.php +++ b/tests/Doctrine/Tests/ORM/QueryBuilderTest.php @@ -414,13 +414,16 @@ class QueryBuilderTest extends \Doctrine\Tests\OrmTestCase public function testAddCriteriaOrder() { $qb = $this->_em->createQueryBuilder(); + $qb->select('u') + ->from('Doctrine\Tests\Models\CMS\CmsUser', 'u'); + $criteria = new Criteria(); $criteria->orderBy(array('field' => Criteria::DESC)); $qb->addCriteria($criteria); $this->assertCount(1, $orderBy = $qb->getDQLPart('orderBy')); - $this->assertEquals('field DESC', (string) $orderBy[0]); + $this->assertEquals('u.field DESC', (string) $orderBy[0]); } public function testAddCriteriaLimit()