Skip to content

Commit e8d613c

Browse files
authored
Merge pull request #67 from homersimpsons/fix/bracket-expression-position
Fix bracket expression position
2 parents 97802d9 + 1cccb2a commit e8d613c

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

src/SQLParser/Node/Expression.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -214,16 +214,15 @@ public function toSql(array $parameters, AbstractPlatform $platform, int $indent
214214
return null;
215215
}
216216

217+
if ($this->brackets) {
218+
$sql = '('.$sql.')';
219+
}
217220
if ($this->alias) {
218221
$sql .= ' AS '.$this->alias;
219222
}
220223
if ($this->direction) {
221224
$sql .= ' '.$this->direction;
222225
}
223-
if ($this->brackets) {
224-
$sql = '('.$sql.')';
225-
}
226-
227226

228227
return $sql;
229228
}

tests/Mouf/Database/MagicQueryTest.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,12 @@ public function testStandardSelect()
196196

197197
$sql = 'SELECT 42 as fooalias FROM bar HAVING fooalias = 24';
198198
$this->assertEquals('SELECT 42 AS fooalias FROM bar HAVING fooalias = 24', self::simplifySql($magicQuery->build($sql)));
199+
200+
$sql = 'SELECT bar.foo FROM bar ORDER BY (bar.foo IS NULL) DESC, (bar.baz = 0) DESC, bar.id DESC';
201+
$this->assertEquals($sql, self::simplifySql($magicQuery->build($sql)));
202+
203+
$sql = 'SELECT (id + 2) AS foo FROM bar';
204+
$this->assertEquals($sql, self::simplifySql($magicQuery->build($sql)));
199205
}
200206

201207
/**

0 commit comments

Comments
 (0)