我使用doctrine和Symfony2将一些事件存储在数据库中,这些事件有两个日期时间参数,事件的开始和结束。我需要知道这些事件在某个月是否处于活动状态,但我找不到方法。我尝试了:
$now = new Datetime('now');
$qb = $this->createQueryBuilder('e');
$qb->where('e.start <= :now AND e.end >= :now')
->setParameter('now', $now);
return $qb->getQuery()
->getArrayResult();
但它仅限于日期,而不是月份。有没有办法检查它?多谢!
您可以使用
以下代码
$monthStart = new DateTime(date('Y-m-01') . " 00:00:00");
$monthEnd = new DateTime(date('Y-m-t'). " 23:59:59");
$qb = $this->createQueryBuilder('e');
$qb
->where('e.start <= :end AND e.end >= :start')
->setParameter('start', $monthStart)
->setParameter('end', $monthEnd);
return $qb->getQuery()
->getArrayResult();