我想在本机SQL中执行一个看起来像这样的查询:
SELECT
AVG(t.column) AS average_value
FROM
table t
WHERE
YEAR(t.timestamp) = 2013 AND
MONTH(t.timestamp) = 09 AND
DAY(t.timestamp) = 16 AND
t.somethingelse LIKE 'somethingelse'
GROUP BY
t.somethingelse;
Run Code Online (Sandbox Code Playgroud)
如果我试图在Doctrine的查询生成器中实现这个,如下所示:
$qb = $this->getDoctrine()->createQueryBuilder();
$qb->select('e.column AS average_value')
->from('MyBundle:MyEntity', 'e')
->where('YEAR(e.timestamp) = 2013')
->andWhere('MONTH(e.timestamp) = 09')
->andWhere('DAY(e.timestamp) = 16')
->andWhere('u.somethingelse LIKE somethingelse')
->groupBy('somethingelse');
Run Code Online (Sandbox Code Playgroud)
我得到错误异常
[语法错误]第0行,第63行:错误:预期的已知函数,得到'年'
如何使用Doctrines查询构建器实现我的查询?
笔记:
YEAR()等语句,例如,如此处所示.但我正在寻找避免包含第三方插件的方法.