我需要得到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