我已经找到了这个,并且有一些相关的问题,但没有人给我我需要的答案。我有一个带日期字段的实体,我需要选择那些超过7天的人:
$query = $repository->createQueryBuilder('rf')
->where('rf.sendDate >='.new \DateTime('-7 days'))
->getQuery();
我收到此错误:
Catchable Fatal Error: Object of class DateTime could not be converted to string
我想知道为什么它假定rf.sendDate
是一个字符串,何时被定义为实体中的DateTime对象?我怎么能比较这个?
任何解释都非常感谢。
答案 0 :(得分:6)
您应该使用以下参数:
$query = $repository->createQueryBuilder('rf')
->where('rf.sendDate >= :ts')
->setParameter('ts', new \DateTime('-7 days'))
->getQuery();