Symfony2, dql не работает с функцией REPEAT

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'.

person user1726697    schedule 07.10.2012    source источник
comment
Как этот вопрос связан с Symfony?   -  person Crozin    schedule 07.10.2012


Ответы (2)


REPEAT не является допустимой функцией DQL. Помните, что DQL — это не SQL, он похож, но имеет важные отличия и не поддерживает все конструкции SQL. Взгляните на документацию DQL, чтобы узнать, что поддерживается:

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

person Carlos Granados    schedule 07.10.2012