重複の可能性:
Cakephp データベースフィールドを値でインクリメントする
データベース内の既存の int に整数を追加したい (別の列ではなく、既存の値に文字通り数学的に数値を追加する)。
テーブルエントリがあるとします
id | Entry | total
特定のエントリの合計に 1 を追加したい場合、次のようなことができますか?
$this->Entry->find($id);
$this->Entry->saveField('total' + 1, true);
これを EntriesController の関数に追加しようとしましたが、うまくいきませんでした
$this->Entry->updateAll(array('Entry.total'=>'Entry.total+1'),array('Entry.id' => $id));
これが私がこれをやろうとした別の方法です
//in the controller
$this->Entry->increaseOne($id);
//function in the model called by the controller
public function increaseOne($id){
$this->Entry->updateAll(array('Entry.total'=>'Entry.total+1'),array('Entry.id' => $id));
}
編集 - 動作するようになりました