使用Symfony 4/Doctrine,我得到了这个查询的错误:
$this->createQueryBuilder('s')
->update()
->set('s.dateCreate', ':date_new')
->setParameter('date_new', date('Y-m-d H:i:s'))
->where('s.site = :site')
->setParameter('site', $site)
->orderBy('s.dateCreate', 'DESC')
->setMaxResults(1)
->getQuery()
->execute();
我收到此错误:
[Syntax Error] line 0, col 81: Error: Expected end of string, got 'ORDER'
如果我删除 orderBy,查询有效,但我只需要更新最后一个条目。看不出这里出了什么问题..
您正在制作一个update
语句,在这种情况下,您无法在其中按函数添加订单。
如果要对结果进行排序,则需要进行select
而不是更新到另一个查询中,则可以同时执行这两项操作,或者需要进行子选择以仅更新 1 个结果,例如