如何使用 Dql 获得 2 个日期之间的差异?
我尝试了以下代码,但没有奏效。
$query =$this->_em->createQuery('select a,DATEDIFF(d,\'now\',a.date) from ABundle:Abonment a where d==1');
我该如何解决这个问题?
如何使用 Dql 获得 2 个日期之间的差异?
我尝试了以下代码,但没有奏效。
$query =$this->_em->createQuery('select a,DATEDIFF(d,\'now\',a.date) from ABundle:Abonment a where d==1');
我该如何解决这个问题?
从这个来源http://docs.doctrine-project.org/en/2.1/reference/dql-doctrine-query-language.html#dql-functions:
DATE_DIFF(date1, date2)
- 计算 date1-date2 之间的天数差异,在您的查询中,您的函数采用 3 个参数。
在 Doctrine2 中,您必须使用以下更适合您的函数之一,而不是 now() 函数:
CURRENT_DATE() - Return the current date
CURRENT_TIME() - Returns the current time
CURRENT_TIMESTAMP() - Returns a timestamp of the current date and time.
最后,您的查询应该是这样的:
$query =$this->_em->createQuery('select a, DATE_DIFF(CURRENT_DATE(), a.date) as days from ABundle:Abonment a where days = 1');