2013-04-09 89 views
2

我有这样的DQL查询:学说2 - COALESCE和CONCAT

$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

此问题是由fixed的改进在学说2.4 DQL解析器。升级到2.4,这个查询将起作用。