php - 查找从今天到接下来或过去 30 天的所有记录

标签 php datetime doctrine-orm zend-framework2

我在 ZendFramework2 上并使用 dotric2。

我想查找从今天的 DateTime 到与交易相关的下一个或过去 30 天的所有记录。

这是我的学说查询和代码,

$emailRepo = $em->getRepository('App\Entity\Email')->findBy(['deal' => $deal]);
foreach ($emailRepo as $email) {
            $sendAt = $email->getSendAt();
        }

我有 日期时间 sendAt 变量中的对象,

从一些引用资料中我发现了这个 strtotime 功能。
$data = date('Y-m-d h:i:s', strtotime("+30 days"));
$data = date('Y-m-d h:i:s', strtotime("-30 days"));

但它对我不起作用。

什么是正确的写法?

最佳答案

稍微搜索了一下,查询生成器 为我工作。

future 30 天,

$date = date('Y-m-d h:i:s', strtotime("+30 days"))

$sendAt = $em->getRepository('App\Entity\Email')
            ->createQueryBuilder('e')
            ->select('e')
            ->where('e.sendAt BETWEEN :today AND :n30days')
            ->setParameter('today', date('Y-m-d h:i:s'))
            ->setParameter('n30days', $date)
            ->getQuery()
            ->getArrayResult();

过去 30 天,
$date = date('Y-m-d h:i:s', strtotime("-30 days"))

$sendAt = $em->getRepository('App\Entity\Email')
            ->createQueryBuilder('e')
            ->select('e')
            ->where('e.sendAt BETWEEN :n30days AND :today')
            ->setParameter('today', date('Y-m-d h:i:s'))
            ->setParameter('n30days', $date)
            ->getQuery()
            ->getArrayResult();

关于php - 查找从今天到接下来或过去 30 天的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37435186/

相关文章:

php - 如何通过选择发送两个值?

c# - 有没有更快的方法来检查这是否是有效日期?

python - 值错误: time data '67:01' does not match format '%M:%S'

php - Doctrine findBy where and order

php - 您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在 '?' 附近使用的正确语法

php - 如何更正此非法字符串偏移?

php - 文本区域的富文本编辑器

python - 使用 Pandas 查找包含周末的日期范围

PHPUnit 在 Netbeans 中的 ArrayCollection(Doctrine 2)初始化后不再运行

symfony - 如何在 DQL 中按 NULL 排序?