0
public function mpttLocationList() {
        $q = $this->_em->createQuery("
        SELECT CONCAT(REPEAT('.', COUNT(parent.region_name) - 1), node.region_name) AS name
        FROM ViveListingBundle:region_redefine AS node,
                ViveListingBundle:region_redefine AS parent
        WHERE node.lft BETWEEN parent.lft AND parent.rgt
        GROUP BY node.region_name
        ORDER BY node.lft");
        return $q->getResult();
    } 

上記のコードはエラーを出しています:

[Syntax Error] line 0, col 23: Error: Expected known function, got 'REPEAT'.
4

2 に答える 2

0

REPEATは有効な DQL 関数ではありません。DQL は SQL ではないことに注意してください。似ているように見えますが、重要な違いがあり、すべての SQL 構造をサポートしているわけではありません。サポートされているものを確認するには、DQL のドキュメントを参照してください。

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/dql-doctrine-query-language.html

于 2012-10-07T13:25:03.063 に答える
0

Doctrine に について教えるには、カスタム DQL 関数を定義て Symfony に登録REPEAT()する必要があります。

于 2012-10-08T06:51:49.667 に答える