2012-06-19 47 views
2

我想做到這一點(MySQL的)查詢:原則2:UPDATE表SET字段=場+ 1 WHERE ID = 1

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

什麼是做好上面的使用原則2實體的正確方法是什麼?

* 編輯

我正在尋找一個方式做$entity->incrementField(),其執行上flush()

+1

'UPDATE table t SET t.field = t.field + 1 WHERE t.id = 1'? – biziclop

+0

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/dql-doctrine-query-language.html#update-queries – hakre

回答

1

我似乎無法找到一種方法來使用實體本身。我現在已經通過使用定期的DQL來解決這個問題,它可以增加,並更新模型/實體的結果。

-1

上述MySQL查詢它不會導致完全相同的查詢,但也許這是你在找什麼?

class MyEntity { 
    private $field; 

    public function incrementField() { 
     $this->field++; 
    } 
} 
+2

然後它會嘗試保存$的確切值字段,而不是增加它(然後在此期間從另一個前端完成的任何增量將會丟失) –

相關問題