diff --git a/lib/Doctrine/ORM/Query/QueryExpressionVisitor.php b/lib/Doctrine/ORM/Query/QueryExpressionVisitor.php index c99c5ed52..7cea4e0bc 100644 --- a/lib/Doctrine/ORM/Query/QueryExpressionVisitor.php +++ b/lib/Doctrine/ORM/Query/QueryExpressionVisitor.php @@ -62,7 +62,7 @@ class QueryExpressionVisitor extends ExpressionVisitor /** * Constructor * - * @param string $queryAliases + * @param array $queryAliases */ public function __construct($queryAliases) { @@ -133,7 +133,7 @@ class QueryExpressionVisitor extends ExpressionVisitor { if ( ! isset($this->queryAliases[0])) { - throw new \RuntimeException('No aliases are set before invoking walkComparison().'); + throw new QueryException('No aliases are set before invoking walkComparison().'); } $field = $comparison->getField(); diff --git a/lib/Doctrine/ORM/QueryBuilder.php b/lib/Doctrine/ORM/QueryBuilder.php index 5ac67ebe2..f3cad510d 100644 --- a/lib/Doctrine/ORM/QueryBuilder.php +++ b/lib/Doctrine/ORM/QueryBuilder.php @@ -473,7 +473,7 @@ class QueryBuilder * * @return array */ - public function getAllAliases() { + private function getAllAliases() { return array_merge($this->getRootAliases(),array_keys($this->joinRootAliases)); } @@ -1234,14 +1234,14 @@ class QueryBuilder * Overrides firstResult and maxResults if they're set. * * @param Criteria $criteria - * * @return QueryBuilder + * @throws Query\QueryException */ public function addCriteria(Criteria $criteria) { $allAliases = $this->getAllAliases(); if ( ! isset($allAliases[0])) { - throw new \RuntimeException('No aliases are set before invoking addCriteria().'); + throw new Query\QueryException('No aliases are set before invoking addCriteria().'); } $visitor = new QueryExpressionVisitor($this->getAllAliases()); diff --git a/tests/Doctrine/Tests/ORM/QueryBuilderTest.php b/tests/Doctrine/Tests/ORM/QueryBuilderTest.php index ef240e379..c10177942 100644 --- a/tests/Doctrine/Tests/ORM/QueryBuilderTest.php +++ b/tests/Doctrine/Tests/ORM/QueryBuilderTest.php @@ -522,6 +522,9 @@ class QueryBuilderTest extends \Doctrine\Tests\OrmTestCase $this->assertEquals('u.field DESC', (string) $orderBy[0]); } + /** + * @group DDC-3108 + */ public function testAddCriteriaOrderOnJoinAlias() { $qb = $this->_em->createQueryBuilder(); @@ -981,17 +984,6 @@ class QueryBuilderTest extends \Doctrine\Tests\OrmTestCase $this->assertEquals('u', $qb->getRootAlias()); } - public function testGetAliasesAddedWithJoins() - { - $qb = $this->_em->createQueryBuilder() - ->select('u') - ->from('Doctrine\Tests\Models\CMS\CmsUser', 'u') - ->join('u.articles','a'); - - $this->assertEquals(array('u', 'a'), $qb->getAllAliases()); - $this->assertEquals('u', $qb->getRootAlias()); - } - public function testBCAddJoinWithoutRootAlias() { $qb = $this->_em->createQueryBuilder()