我在 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/