1

重複の可能性:
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));
}

編集 - 動作するようになりました

4

0 に答える 0