我有一个以 DATETIME 格式存储的 MySQL 日期。所以我想知道如何在我的 Doctrine QueryBuilder 的 where
子句中使用 date()
。例如,2013-02-01 12:51:17
是 MySQL 中的日期。但我只需要检索日期。这是我尝试过的:
$qb = $this->getEntityManager()->createQueryBuilder()
->select('t.balance','a.id','t.date')
->from('TestMainBundle:Transaction','t')
->groupBy('a.id')
->orderBy('a.id')
->where("t.date in date('t.date') ");
return $qb->getQuery()->getResult();
我收到以下错误:
QueryException: [Syntax Error]: Error: Expected Doctrine\ORM\Query\Lexer::T_OPEN_PARENTHESIS, got 'date'
最佳答案
您好,您可以使用SUBSTRING 来解决您的问题
->where('SUBSTRING(t.date, 1, 10) IN (:param)')
->setParameter('param', array('2017-04-06'))
关于mysql - 在 Doctrine QueryBuilder 中从 MySQL DATETIME 中检索日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45570002/