我想从DB(我的sql)获取数据,这些数据都是本周发布的。我正在使用Doctrine ORM,我的sql。我想我需要使用createQueryBuilder,但我不确切知道如何在我的情况下使用它。我尝试了以下声明,但没有奏效。
......->createQueryBuilder('t')
->where('WEEK(t.dateCreated) = WEEK(CURDATE())')
->getQuery()
->getResult();
请帮我解决这个问题。
答案 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();