Yii2で更新前のデータを利用する

例えば、find系を使ってデータを取得したあと、そのデータを更新する前にその中身をどこかに退避しておきたいことってありますよね。

 

そんなとき、getOldAttributes()を使えば簡単です。

 

$model = $this->findModel($id);

$old_data = $model->getOldAttributes();

 

これで$old_dataには更新前のデータが配列で残りますので、$model->save()を行っても大丈夫です。