Symfony findBy DATEDIFF



我正在尝试获取所有日期大于 4 周的条目,如下所示

$oRepoArticleImage->findBy(array('deletedAt' => 'DATEDIFF(now(), deletedAt) > 4'));

我收到以下错误。我做错了什么?

PHP 致命错误:调用非对象上的成员函数 format() 在 .../vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeType.php 在第 53 行

查找方式总是需要一个键值数组。在您的情况下,您正在尝试使用字符串作为日期时间对象。这行不通。要获得预期的结果,您必须使用如下所示的查询生成器:

     $now = new DateTime();
    // four weeks in days (28)
    $daysAgo = $now->sub(new DateInterval('P28D'));
    $images = $oRepoArticleImage->createQueryBuilder('i')
        ->where('i.deletedAt < :date')
        ->setParameter('date', $daysAgo)
        ->getQuery()
        ->getResult();

相关内容

  • 没有找到相关文章

最新更新