Symfony2中的查询构建器,已知函数月错误

use*_*610 1 customization dql query-builder symfony doctrine-orm

我有Symfony2 QueryBuilder的问题.

我有以下代码引发错误

$repositorio= $em->getRepository('SingUserBundle:Data');
$consulta= $repositorio->createQueryBuilder('d')
    ->where('d.usuario = :usuario')
    ->andWhere ('MONTH(d.fecha) = :mesActual')
    ->setParameter('usuario', $usuario->getId())
    ->setParameter('mesActual', $mesActual)
    ->getQuery();
$totaldatos= $consulta->getSingleResult();
Run Code Online (Sandbox Code Playgroud)

错误是:

[Syntax Error] line 0, col 80: Error: Expected known function, got 'MONTH'
Run Code Online (Sandbox Code Playgroud)

Jea*_*ean 8

正如Gremo在他的回答中所说,没有内置month功能.因此,您必须扩展DQL以具有月份功能.

如果您不熟练或没有时间,我建议安装DoctrineExtensions Mysql功能包,可在Gitbub存储库上免费获得.它包含许多有用的DQL功能,甚至包括该month功能.