cakephp1.2でファイルのアップロード処理を書いていたんだけど、新しくアップロードした時に古い画像ファイルを削除したいということで、Model->saveする前にModel->readで古いレコードを呼び出して、画像ファイル名を取得しようとしたら、ハマった。
Model->readは、$this->dataを上書きしてしまうので、新しくアップしたファイルの情報が削除されてしまう。
Model->readってそもそも公式マニュアルに載っていないし、非推奨なんだろうか?
その割にはbakeしたら出てきますが・・・。
こういう場合はfindで呼んであげれば良い。
そんだけー。
Model->readは、$this->dataを上書きしてしまうので、新しくアップしたファイルの情報が削除されてしまう。
Model->readってそもそも公式マニュアルに載っていないし、非推奨なんだろうか?
その割にはbakeしたら出てきますが・・・。
こういう場合はfindで呼んであげれば良い。
- $old_row = $this->read(null, $this->id);
+ $old_row = $this->find('first', array(
+ 'conditions' => array('Model.id' => $this->id),
+ ));そんだけー。
コメント