Doctrine 2 group使用SQL Server的MONTH或别名不起作用

时间:2017-12-11 10:23:36

标签: php sql-server symfony doctrine-orm

我在doctrine 2中遇到了查询问题。我正在使用SQL Server,这是我的查询与学说:

$qb->select('MONTH(au.dateRealisation) AS month');
$qb->from($cible, 'au');
$qb->leftJoin('au.cEcart', 'ec');
$qb->leftJoin('ec.oGravite', 'grav');
$qb->where($qb->expr()->eq('grav.abrev', $qb->expr()->lit($data['gravite'])));
$qb->groupBy('month');

当我尝试执行它时,我得到了:

  

执行'SELECT MONTH(a0_.dateRealisationAudit)AS sclr_0来自AuditCentre a1_ INNER JOIN时发生异常审计a0_ ON a1_.idAudit = a0_.idAudit LEFT JOIN Ecart e2_ ON a0_.idAudit = e2_.idAudit LEFT JOIN Gravite g3_ ON e2_.idGravite = g3_.idGravite WHERE g3_.abrevGravite ='NC'GROUP BY sclr_0 ORDER BY sclr_0 ASC':       SQLSTATE [42S22]:[Microsoft] [SQL Server的ODBC驱动程序13] [SQL Server]列名无效:'sclr_0'。

如果我使用$qb->groupBy('MONTH(...)')我就会收到此错误:

  

[语义错误]第0行,第148行附近'MONTH(au.dateRealisation)':        错误:无法按未定义的标识或结果变量进行分组。

MONTH函数已正确添加,如果我删除groupBy,它可以正常工作。

你有想法这样做吗?

由于

0 个答案:

没有答案