私は CakePHP の更新でこの問題を抱えています。その関数を使用して DB の行を更新しようとしました (以下を参照)。
function updateRow($amount, $user_id){
$user_balance = $this->getUserBalance($user_id);
//now update
$balance['Balance']['id'] = $user_balance['Balance'][id];
$balance['Balance']['amount'] = $user_balance['Balance'][amount] + $amount;
$this->Balance->save($balance);
}
ONE time と呼ぶと、次のようになります。
$this->updateRow(100,5);
大丈夫です。しかし、次のように2回以上呼び出そうとすると:
$this->updateRow(100,5);
$this->updateRow(200,5);
$this->updateRow(150,5);
関数が呼び出されましたが、最後の更新のみが実際に db で行われました!! (たとえば、最初の金額の値は 100 でした。3 回の呼び出しの最後に、金額の値は 550 であると予想していましたが、250 です!)
これに対する解決策はありますか?thx事前に