我需要得到DATE(a.when)
与字符串2014-09-30
匹配的所有行。在Doctrine Querybuilder中使用`DATE()`
$builder = $this->em->createQueryBuilder();
$builder->select('a')
->from('Entity\Appointment', 'a')
->andWhere('a.when = :date')
->setParameter('date', $date);
a.when
是全DATETIME
; :date
仅为string
(格式为DATE
)。
以下和变化没有工作:
->andWhere('DATE(a.when) = :date')
Error: Expected known function, got 'DATE'
这里有什么正确的使用情况如何?
可能重复的[学说2 - 由日期时间字段的日期部分筛选结果](http://stackoverflow.com/questions/10824383/doctrine-2 -filter-by-a-datetime-fields-date-part) – andy 2014-09-23 15:56:43
@andy不是重复的。我使用** queryBuilder **,使用'createQuery'和'queryBuilder'的错误消息是相同的:'错误:期望的已知函数,得到'DATE''。 – DanFromGermany 2014-09-23 16:02:52
错误是相同的,因为在DQL中没有'DATE()'。如果您使用链接副本中的WHERE子句,则您的方法也应该可以正常工作。 – andy 2014-09-23 16:05:22