0

doctrine クエリ ビルダーのクエリ文字列でカスタム mysql 関数を使用しているときにエラーが発生しました。
[Syntax Error] line 0, col 32: Error: Expected known function, got 'ucfirst'
mysql function is below.

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;  

Doctrine クエリ コードは以下のとおりです。

$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;  

私が間違っている提案はありますか?

4

1 に答える 1