原则 2:更新表设置字段 = 字段 + 1,其中 id = 1


Doctrine 2: UPDATE table SET field = field + 1 WHERE id = 1

我想完成这个(mysql)查询:

UPDATE table SET field = field + 1 WHERE id = 1

使用教义 2 实体执行上述操作的正确方法是什么?

*编辑

我正在寻找一种方法来执行$entity->incrementField(),它flush()执行上述mysql查询

我似乎找不到使用实体本身来做到这一点的方法。我现在通过使用常规 DQL 解决了这个问题,该 DQL 确实会递增,并使用结果更新模型/实体。

它不会导致完全相同的查询,但也许这就是您要查找的?

class MyEntity {
    private $field;
    public function incrementField() {
        $this->field++;
    }
}