CakePHP Model::beforeSave() は保存内容のみを変更する
環境
- CakePHP 1.2
調査
モデルの保存前にコールバックされるメソッドである Model::beforeSave() でモデルデータを変更し、バリデーション エラーが発生した場合、beforeSave() での変更内容はビューに反映されるのか?
結果
反映されない。
考察
beforeSave() の有用な利用方法として、モデルの保存前にデータを加工する処理を記述するとよい。
例えば、画面項目から従属する項目値を計算する処理をビジネス ロジックとしてモデルへ集約できる。