diff --git a/lib/Doctrine/DBAL/Query/QueryBuilder.php b/lib/Doctrine/DBAL/Query/QueryBuilder.php index ff66c8b8685..13efeb2b5df 100644 --- a/lib/Doctrine/DBAL/Query/QueryBuilder.php +++ b/lib/Doctrine/DBAL/Query/QueryBuilder.php @@ -1072,7 +1072,13 @@ public function orHaving($having) */ public function orderBy(string $sort, ?string $order = null) { - $this->orderBy = [$sort . ' ' . (! $order ? 'ASC' : $order)]; + $orderBy = $sort; + + if ($order !== null) { + $orderBy .= ' ' . $order; + } + + $this->orderBy = [$orderBy]; $this->state = self::STATE_DIRTY; @@ -1089,7 +1095,13 @@ public function orderBy(string $sort, ?string $order = null) */ public function addOrderBy(string $sort, ?string $order = null) { - $this->orderBy[] = $sort . ' ' . (! $order ? 'ASC' : $order); + $orderBy = $sort; + + if ($order !== null) { + $orderBy .= ' ' . $order; + } + + $this->orderBy[] = $orderBy; $this->state = self::STATE_DIRTY; diff --git a/tests/Doctrine/Tests/DBAL/Query/QueryBuilderTest.php b/tests/Doctrine/Tests/DBAL/Query/QueryBuilderTest.php index a8ee838be4a..ba4dd8afd9a 100644 --- a/tests/Doctrine/Tests/DBAL/Query/QueryBuilderTest.php +++ b/tests/Doctrine/Tests/DBAL/Query/QueryBuilderTest.php @@ -331,7 +331,7 @@ public function testSelectOrderBy() : void ->from('users', 'u') ->orderBy('u.name'); - self::assertEquals('SELECT u.*, p.* FROM users u ORDER BY u.name ASC', (string) $qb); + self::assertEquals('SELECT u.*, p.* FROM users u ORDER BY u.name', (string) $qb); } public function testSelectAddOrderBy() : void @@ -344,7 +344,7 @@ public function testSelectAddOrderBy() : void ->orderBy('u.name') ->addOrderBy('u.username', 'DESC'); - self::assertEquals('SELECT u.*, p.* FROM users u ORDER BY u.name ASC, u.username DESC', (string) $qb); + self::assertEquals('SELECT u.*, p.* FROM users u ORDER BY u.name, u.username DESC', (string) $qb); } public function testSelectAddAddOrderBy() : void @@ -357,7 +357,7 @@ public function testSelectAddAddOrderBy() : void ->addOrderBy('u.name') ->addOrderBy('u.username', 'DESC'); - self::assertEquals('SELECT u.*, p.* FROM users u ORDER BY u.name ASC, u.username DESC', (string) $qb); + self::assertEquals('SELECT u.*, p.* FROM users u ORDER BY u.name, u.username DESC', (string) $qb); } public function testEmptySelect() : void