1
我有一個包含版本號的表,我想將它們自然排序。
這是原始的SQL沒有問題:在Doctrine2中擴展我的ORDER BY
SELECT * FROM versions ORDER BY REPLACE(version, '.', '')+0 DESC
但如果我寫我的查詢中Doctrine2這樣的:
$qry = $this->createQueryBuilder('v')
->select('v')
->orderBy("REPLACE(v.version, '.', '')+0", 'DESC');
我只得到
Fatal error: Uncaught exception 'Doctrine\ORM\Query\QueryException' with message '[Syntax Error] line 0, col 100: Error: Expected end of string, got '('' in .......
有誰知道如何寫這個查詢爲Doctrine2?
另外,您可以添加自己的'REPLACE'串function.http://docs.doctrine-project。 org/projects/doctrine-orm/en/latest/cookbook/dql-user-defined-functions.html您也可以安裝doctrine擴展以添加一組預定義的函數,您可以在doctrine https:// github中註冊。 COM/beberlei/DoctrineExtensions – fyrye