ine 0,col 19:错误:预期的已知函数,得到'MONTH'

时间:2017-10-26 10:39:20

标签: symfony doctrine

获得“第0行,第19行:错误:预期的已知函数,从'Doctrine获得'MONTH'”错误以获取以下查询:

return $this->getEntityManager()
    ->createQuery("SELECT tp.id as id,MONTH(tp.dia) as mes,tp.tema as tema, tp.dia as dia, tu.nome as turma FROM AppBundle:TempoProfessor tp, AppBundle:Horario h, AppBundle:Turma tu WHERE tp.horario = h.id AND tu.id = h.turma AND tu.anoLectivo =:ano AND h.professor=:professor GROUP BY mes")
    ->setParameter('professor', $professor)
    ->setParameter('ano', $ano)
    ->getResult();

2 个答案:

答案 0 :(得分:0)

Doctrine查询 SQL,但DQL查询。因此,除非您为语法扩展创建处理程序,否则不能使用不属于DQL语法的内容。

如果您要为DQL创建自己的函数,则可以使用month()函数。有关详细信息,请参阅文档的this part

答案 1 :(得分:0)

您可以安装Oro Doctrine Extensions,其中包含许多非常有用的DQL函数:

https://github.com/oroinc/doctrine-extensions