Ошибка: ожидаемая доктрина \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 ','
Это ошибка расширения или я что-то упустил? Как я мог продолжить это? Спасибо.