如何在symfony 2中构建可以更新datetime类型字段的查询?

如何在symfony 2中构建可以更新datetime类型字段的查询?,symfony,doctrine,Symfony,Doctrine,实体中的expireTime字段为\DateTime类型,我需要更新此字段,我的代码如下: $query = $dq->update() ->set('u.token', $dq->expr()->literal($token)) ->set('u.isDeleted', false) ->set('u.expireTime', $dq->expr()->literal($expireTime->format('Y-m

实体中的expireTime字段为\DateTime类型,我需要更新此字段,我的代码如下:

$query = $dq->update()
    ->set('u.token', $dq->expr()->literal($token))
    ->set('u.isDeleted', false)
    ->set('u.expireTime', $dq->expr()->literal($expireTime->format('Y-m-d H:i:s')))
    ->where('u.email= :email')
    ->setParameter('email', $email)
    ->getQuery();
但我得到了以下错误:

stackoverfExecute query in BaseDao error:[Syntax Error] line 0, col 84: Error: Expected Literal, got ','

谢谢你的帮助

您正在传递一个字符串,不必传递dateTime对象吗?因此,
->set('u.expireTime',$expireTime)
谢谢您的帮助,但此代码也无法工作。请尝试删除
$dq->expr()->literal()
。这行代码应该如下所示:
->set('u.expireTime',$expireTime->format('Y-m-dh:i:s'))
谢谢您的帮助,但是这段代码仍然无法处理错误,如下所示:“在BaseDao中执行查询错误:[语法错误]第0行,第117列:错误:字符串预期结束,得到'00'”。您确定在映射中此字段类型是日期时间吗?也许您的定义是错误显示代码