gpt4 book ai didi

mysql - 数小时内使用 DATE_SUB 的 Symfony2 sql 查询

转载 作者:行者123 更新时间:2023-11-29 04:20:21 24 4
gpt4 key购买 nike

我想从数据库中获取过去 12 小时的记录。

我的 Controller 里有这个:

$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();

但我想做 12 个小时,现在是 1 天。当我这样改变它时:

DATE_SUB(CURRENT_DATE() , 12, 'HOUR')")

我收到一条错误消息,指出此方法 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();

关于mysql - 数小时内使用 DATE_SUB 的 Symfony2 sql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26099089/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com