Php 如何向条令查询添加日期?
我有一个Php 如何向条令查询添加日期?,php,doctrine-orm,doctrine,Php,Doctrine Orm,Doctrine,我有一个Y-m-d H:I:s格式的日期字段。现在用户只能使用日期进行搜索。我有这样的疑问: $qb->andWhere('DATE(vc.updatedDatetime) >= :startDate AND DATE(vc.updatedDatetime) <= :endDate') ->setParameter('startDate', $filterArray['startDate']) ->setParameter('endDate', $filterArr
Y-m-d H:I:s
格式的日期字段。现在用户只能使用日期进行搜索。我有这样的疑问:
$qb->andWhere('DATE(vc.updatedDatetime) >= :startDate AND DATE(vc.updatedDatetime) <= :endDate')
->setParameter('startDate', $filterArray['startDate'])
->setParameter('endDate', $filterArray['endDate']);
但我得到了以下错误:
Attempted to load class "Date" from namespace "DoctrineExtensions\Query\Mysql".
Did you forget a "use" statement for e.g. "Twig_Extensions_Extension_Date" or "Symfony\Component\Validator\Constraints\Date"?
虽然您可以创建自己的扩展来将DATE
函数添加到条令中,或者下载类似的东西来为您执行,但最终这是浪费时间。你不需要它
你可以简单地做:
$qb
->andWhere('vc.updatedDatetime > :startDate')
->andWhere('vc.updatedDatetime < :endDate')
->setParameter('startDate', $startDate)
->setParameter('endDate', $endDate)
假设提供的日期是“YYYY-MM-DD”格式,这似乎是因为您使用代码的方式,以上内容就足够了。我发现了这个问题<代码>编写器需要beberlei/DoctrineExtensions
$qb
->andWhere('vc.updatedDatetime > :startDate')
->andWhere('vc.updatedDatetime < :endDate')
->setParameter('startDate', $startDate)
->setParameter('endDate', $endDate)
$endDate = (new DateTime($filterArray['endDate']))->add(new DateInterval('P1D'))