Ошибка: ожидается Doctrine\ORM\Query\Lexer::T_CLOSE_PARENTHESIS, получено ','

Я создаю сложный SQL-запрос с Doctrine в SYmfony, который включает в себя объединение в несколько таблиц.

В рамках приведенного выше SQL-запроса мне нужно использовать GROUP_CONCAT, и, надеюсь, я наткнулся на это доступное расширение: https://github.com/beberlei/DoctrineExtensions/blob/master/lib/DoctrineExtensions/Query/Mysql/GroupConcat.php, который я поместил в MyBundle\ Resources\DoctrineExtensions, и я также зарегистрировал это в своем config.yml, например:

doctrine:
     ####
orm:
      ###
    entity_managers:
        default:

            dql:
                string_functions:
                                GROUP_CONCAT:  MyBundle\Resources\DoctrineExtensions\GroupConcat

В моем классе, когда я инициализирую расширение следующим образом:

    $parameterRepo  = $this->em->getRepository('MyBundle:Parameter');
    $classLoader = new \Doctrine\Common\ClassLoader('DoctrineExtensions', "MyBundle/Resources/DoctrineExtensions");
    $classLoader->register();

    $config = new \Doctrine\ORM\Configuration();
    $config->addCustomStringFunction('GROUP_CONCAT', 'MyBundle/Resources/DoctrineExtensions');

Однако, когда я запускаю этот запрос:

$qb->select("
                l.identifier,
                ct.fooName,
                ct.fooShortname,
                GROUP_CONCAT(p.field, ':', cp.parameterValue) as params,
                ct.section,
                p.field
               ")
        ->innerJoin('####')
        ->innerJoin('###')
        ->leftJoin('###')
        ->groupBy('###);

Я получаю следующую ошибку:

[Syntax Error] line 0, col 167: Error: Expected Doctrine\ORM\Query\Lexer::T_CLOSE_PARENTHESIS, got ','

Это ошибка расширения или я что-то упускаю? Как я мог продолжить это? Спасибо.


person thitami    schedule 28.11.2014    source источник
comment
возможный дубликат symfony2: как использовать group_concat в QueryBuilder   -  person Paweł Kolanowski    schedule 28.11.2014
comment
Потратив несколько часов на борьбу с этим, я решил проблему, используя: stackoverflow.com/questions/10850345/   -  person thitami    schedule 28.11.2014