私は通常、次のように新しいデータをデータベースに保存します。
$this->MyTable->set(array(
'id' => $id,
'code' => $temp_code,
'status' => $status,
'age' => $age,
'location' => $location,
'money' => $money
));
$this->MyTable->save();
ID がデータベースに既に存在する場合は、対応するフィールドを次のように更新します。
$this->Adtweet->id = $id;
$this->Adtweet->saveField('code', $temp_code);
$this->Adtweet->saveField('status', $status);
これを行うためのより良い、または「適切な」方法はありますか?
既に存在する ID を入力しようとしてset
関数を使用すると、次の SQL 整合性エラーが発生します。
(エラー: SQLSTATE[23000]: 整合性制約違反: 1062 キー 'PRIMARY' のエントリ '150245925' が重複しています)
エラーを返さずに重複エントリをきれいに処理する関数を作成するにはどうすればよいですか?