2

我有这个 DQL 查询:

$repository->createQuery("SELECT f.id, COALESCE(f.name, 
CONCAT(f.floor_number, ' NP')) as name FROM ".__NAMESPACE__.'\\Floor f 
WHERE f.building = ?1')
        ->setParameter(1, $this->building);

但它不起作用 - 我明白了

[Syntax Error] line 0, col 36: Error: Expected Doctrine\ORM\Query\Lexer::T_CLOSE_PARENTHESIS, got '('

原因是在 COALESCE 中使用了 CONCAT.... 有什么方法可以使它工作(没有本机查询)?

4

1 回答 1

1

通过对 Doctrine 2.4 中的 DQL 解析器的改进解决了这个问题。升级到 2.4,此查询将起作用。

于 2015-04-30T20:13:18.920 回答