Cre*_*e3k 1 mysql date symfony
我想从最近12个小时的数据库记录中获取信息。
我的控制者中有这个:
$em = $this->getDoctrine()->getManager();
$query = $em->createQuery("SELECT e FROM MainCoreBundle:Event e WHERE e.date >= DATE_SUB(CURRENT_DATE() , 1, 'DAY')");
$statement = $query->getResult();
Run Code Online (Sandbox Code Playgroud)
但是我想做12个小时,现在是1天。当我像这样更改它时:
DATE_SUB(CURRENT_DATE() , 12, 'HOUR')")
Run Code Online (Sandbox Code Playgroud)
我收到一个错误消息,该方法 DATE_SUB仅适用于DAYS和MOUNTHS。
如何获得时间?还有其他方法吗?
您不需要注册自定义DQL函数!
这可以通过标准的学说来完成,但是可以使用更好的方法。
$em = $this->getDoctrine()->getManager();
$qb = $em->createQueryBuilder();
$results = $qb->select('e')
->from('MainCoreBundle:Event', 'e')
->where('e.date >= :date')
->setParameter('date', new \DateTime('-12 hours'))
->getQuery()
->getOneOrNullResult();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4167 次 |
| 最近记录: |