使用pgsql和doctrine获取X天前的数据

时间:2014-08-04 13:50:22

标签: php symfony doctrine-orm

我正在使用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

1 个答案:

答案 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();