遇到Doctrine DQL的问题

时间:2015-09-19 09:52:05

标签: php symfony doctrine-orm doctrine

我试图在我的查询中获得数据库中成员的确切年龄,这个学说似乎并不喜欢。这是sql

SELECT m.id from AppBundle:Member m  WHERE  DATE_FORMAT(:now, '%Y') - DATE_FORMAT(m.dob, '%Y') - (DATE_FORMAT(:now, '00-%m-%d') < DATE_FORMAT(m.dob, '00-%m-%d')) = 32  AND  m.gender = 'Male'

我收到以下错误:

 [Doctrine\ORM\Query\QueryException]
 [Syntax Error] line 0, col 128: Error: Expected Doctrine\ORM\Query\Lexer::T_CLOSE_PARENTHESIS, got '<'

以下普通sql中的相同查询给出了我想要的结果

SELECT m0_.id AS id0 FROM members m0_ WHERE DATE_FORMAT(CURDATE(), '%Y') - DATE_FORMAT(m0_.dob, '%Y') - (DATE_FORMAT(CURDATE(), '00-%m-%d') < DATE_FORMAT(m0_.dob, '00-%m-%d')) = 32 AND m0_.gender = 'Male'

请帮忙

0 个答案:

没有答案