数据库
首页 > 数据库> > php-X天前使用pgsql和主义获取数据

php-X天前使用pgsql和主义获取数据

作者:互联网

我正在使用Symfony2,并且我有一个实体帐户,其字段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天上计算所有铭文,并且我不想在日期时间中使用小时-分-秒.

解决方法:

您可以使用DATE_DIFF代替DATE_SUB来满足“ X天前”之类的条件.

例如:

$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();

标签:doctrine-orm,symfony,php
来源: https://codeday.me/bug/20191121/2051601.html