Doctrine ORM - 获取本周发布的数据

时间:2015-01-05 10:53:58

标签: php doctrine-orm doctrine

我想从DB(我的sql)获取数据,这些数据都是本周发布的。我正在使用Doctrine ORM,我的sql。我想我需要使用createQueryBuilder,但我不确切知道如何在我的情况下使用它。我尝试了以下声明,但没有奏效。

......->createQueryBuilder('t')
        ->where('WEEK(t.dateCreated) = WEEK(CURDATE())')                      
        ->getQuery()
        ->getResult(); 

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

好吧,除非你使用doctrine扩展,否则我认为这些mysql结构(WEEK,YEAR,MONTH)目前不可用。这里有一个post来讨论这个问题。

如果你的星期在星期一开始并在星期日结束,那么另一种解决办法可能如下:

$start_week = date("Y-m-d",strtotime('monday this week'));
$end_week = date("Y-m-d",strtotime('sunday this week'));
......->createQueryBuilder('t')
        ->where('t.dateCreated >= :start')
        ->andWhere('t.dateCreated <= :end')
        ->setParameter('start',$start_week)                      
        ->setParameter('end',$end_week)
        ->getQuery()
        ->getResult();