我正在使用symfony2。我的查询在sql中工作,但它在doctrine中不起作用。请帮我找到答案。
SQL查询:
select v.date,v.time, sum(v.volume) as 'volume'
from volume_vwus v
where v.domain like 'www.vw.com'
and v.date between '2016-08-05' and '2016-08-29'
and v.cdn='EdgeCast'
group by week(concat(v.date,v.volume));
DQL:
$em = $this->getDoctrine()->getManager();
$lesVolumes = $em->createQuery("select v.date,v.time, sum(v.volume) as volume from AppBundle:Volume$tb v where v.domain like '%$domain%' and v.date between '$dateFrom' and '$dateTo' and v.cdn='$cdn' group by week(concat(v.date, ' ',v.time))");
好吧,学说显示错误
在'周附近(concat(v.date,':错误:无法按未定义的标识或结果变量分组
由于
答案 0 :(得分:0)
DQL不是SQL
DQL没有WEEK()
功能,因为它不是SQL语言的一部分,并且在所有RMDBS中都不可用。这是MySQL的自定义功能。
您可以使用Doctrine Extensions来实现RMDB的这个(以及许多其他)自定义功能,但这样您就可以将代码提交到此特定的RMDBS。