2013-04-09 50 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,這個查詢將起作用。