学说2 - COALESCE和CONCAT

时间:2013-04-09 10:22:58

标签: doctrine-orm

我有这个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 ....有没有办法让这项工作(没有原生查询)?

1 个答案:

答案 0 :(得分:1)

对于Doctrine 2.4中的DQL解析器的改进,这个问题是fixed。升级到2.4,此查询将起作用。