例えば、データベースのあるテーブルが下記の定義だとします。

id serial,
name character varying(32) not null,
narabi integer default 99999 not null,
sakujyo_flg smallint default 0 not null,
biko text,
created timestamp without time zone default CURRENT_TIMESTAMP not null,
modified timestamp without time zone default CURRENT_TIMESTAMP not null,

※PostgreSQLを利用しています。

そのテーブルに下記の要領で更新(UPDATE)したところ、narabi=1だったところが、99999で更新されました。

$model = 《モデルのインスタンス》;

$save_data = array(
	'id' => 1,
	'name' => 'てすと02'
);

$model->create();

$model->save( $save_data );

調べてみたところ、「$model->create()」としたとき、モデルのインスタンス変数内で、更新(UPDATE)する項目(カラム)の情報として、データベースでデフォルト設定されている項目(カラム)をセットするそうです。

なので、更新(UPDATE)のときは「$model->create()」を書かないか、「$model->save」の第3引数で更新(UPDATE)の対象となる項目(カラム)を指定するとよいようです。