CakePHPでデータをデフォルト値に戻す
CakePHPでデータをデフォルト値に戻す

MysqlやPostgreSQLなんかのデータベースでデータのデフォルト値を設定しているケース、あると思います。

このデフォルト値を設定しているデータ、削除というていで、デフォルト値に戻したい、というのが今回の問題。
これをSQLでやる時は
Mysql
UPDATE personal SET total = DEFAULT(total);
CakePHPだとして、クエリー投げてもいいんだけどCakePHPチックに出来ないものかな~と考えていたら、出来ましたよ
CakePHP
function default($id = NULL){
$this->Model->id = $id;
$this->data = $this->Model->read();
$this->Model->saveField('your_field_name', DboSource::expression('DEFAULT(your_field_name)'));
}
ただこれ、クエリーで投げちゃったほうがシンプルですね。でも書き方がCakePHPのデータ変更の基本的なやり方とほぼ一緒なので、
何かのデータ変更の時のついでとかにナイス。今後もたまに使います。