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のデータ変更の基本的なやり方とほぼ一緒なので、
何かのデータ変更の時のついでとかにナイス。今後もたまに使います。