我正在使用Symfony2,我有一个实体Account
,其字段inscriptionDate
类型为datetime
。
我需要检索X天前的铭文数量,我有一些麻烦,现在我有:
$qb = $this->_em->createQueryBuilder();
$qb->select('COUNT(a.id)')
->from('MyProjectBundle:Account', 'a')
->where('a.inscriptionDate = DATE_SUB(NOW(), INTERVAL ?1 DAY) ')
->setParameters(array(1 => $daysAgo));
return $qb->getQuery()->getSingleScalarResult();
我在CURDATE()
上有错误。我怎样才能做到这一点 ?我需要计算NOW() - X days
上的所有铭文,并且我不想在我的约会时间内使用hour-minute-second
。
答案 0 :(得分:3)
您可以使用DATE_DIFF代替 DATE_SUB 来满足" X天前和#34;等条件。
例如:
$qb = $this->_em->createQueryBuilder();
$qb->select('COUNT(a.id)')
->from('MyProjectBundle:Account', 'a')
->where('DATE_DIFF(CURRENT_DATE(), a.inscriptionDate) > ?1')
->setParameters(array(1 => $daysAgo));
return $qb->getQuery()->getSingleScalarResult();