Cakephp PHP WEB開発

【Cakephp2→4】save時に特定カラムの更新をしない方法

※本サイトはPR表記を含みます。

save() 時に例外的に更新日など、特定のカラムをアップデートしたくない場合があります。

Cake2: save時に更新しない

$data['ModelName']['updated'] = false;

Cake2では配列に対象モデルとカラム名をキーとして指定し、false を代入しておくことで、save() 時に更新しないようにできていました。

Cake4: save時に更新しない

$data->setDirty('updated', false);

Cake4では newEntity() などで作成したエンティティに対し、setDirty() を利用し、第一引数にカラム名、第二引数に false を設定することで更新対象から除外することができます。

これで更新したくない任意のカラム名を指定することで、更新対象を除外することができますね。

-Cakephp, PHP, WEB開発
-