DQL 连接多个字符串
DQL Concat many strings
我想用 DQL 连接很多字符串,但尝试时出现错误消息。
我的代码:
$qb = $this->_em->createQueryBuilder();
$qb->select('u')
->from(Tutore::class, 'u')
->andWhere($qb->expr()->concat($qb->expr()->concat('u.nom', $qb->expr()->literal(' ')), 'u.prenom'), ':fullname')
->andWhere($qb->expr()->eq('u.ancien', 0))
->setParameter('fullname', $fullname);
return $qb->getQuery()->getOneOrNullResult();
错误信息:
Uncaught PHP Exception Doctrine\ORM\Query\QueryException: "[Syntax Error] line 0, col 77: Error: Expected =, <, <=, <>, >, >=, !=, got 'AND'" at /vendor/doctrine/orm/lib/Doctrine/ORM/Query/QueryException.php line 54
我也试过替换这个:
$qb->expr()->literal(' '))
通过一个简单的:“”。
很简单:
->andWhere("concat(u.nom, ' ', u.prenom) = :fullname")
.............................................................................
我想用 DQL 连接很多字符串,但尝试时出现错误消息。
我的代码:
$qb = $this->_em->createQueryBuilder();
$qb->select('u')
->from(Tutore::class, 'u')
->andWhere($qb->expr()->concat($qb->expr()->concat('u.nom', $qb->expr()->literal(' ')), 'u.prenom'), ':fullname')
->andWhere($qb->expr()->eq('u.ancien', 0))
->setParameter('fullname', $fullname);
return $qb->getQuery()->getOneOrNullResult();
错误信息:
Uncaught PHP Exception Doctrine\ORM\Query\QueryException: "[Syntax Error] line 0, col 77: Error: Expected =, <, <=, <>, >, >=, !=, got 'AND'" at /vendor/doctrine/orm/lib/Doctrine/ORM/Query/QueryException.php line 54
我也试过替换这个:
$qb->expr()->literal(' '))
通过一个简单的:“”。
很简单:
->andWhere("concat(u.nom, ' ', u.prenom) = :fullname")
.............................................................................