原则错误 - 预期的字符串结尾,得到"ORDER"



使用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 个结果,例如

最新更新