У меня ошибка при использовании пользовательской функции mysql в строке запроса построителей запросов доктрины.
[Синтаксическая ошибка] строка 0, столбец 32: Ошибка: ожидаемая известная функция, получено 'ucfirst'
Функция MySQL, как показано ниже.
DELIMITER $$
DROP FUNCTION IF EXISTS `ucfirst`$$
CREATE FUNCTION `ucfirst`(str_value VARCHAR(5000)) RETURNS varchar(5000) CHARSET latin1 DETERMINISTIC
BEGIN
RETURN CONCAT(UCASE(LEFT(str_value, 1)),SUBSTRING(str_value, 2));
END$$
DELIMITER;
Код запроса доктрины, как показано ниже.
$qb = $this->em->createQueryBuilder();
$qb->select("ConcatWs(' ',ucfirst(p.firstName), ucfirst(p.lastName)) as user_name");
$qb->from('Entity\Profile', 'p');
$data = $qb->getQuery()->getResult();
print_r($data);exit;
какие-нибудь предложения, где я делаю неправильно?