- ダーティ属性の使用:
Laravelのモデルでは、
isDirty
メソッドを使用してフィールドが変更されたかどうかを確認できます。以下は使用例です。
if ($model->isDirty('field_name')) {
// フィールドが変更された場合の処理
} else {
// フィールドが変更されていない場合の処理
}
- オリジナル値と現在の値の比較:
モデルのフィールドは、
getOriginal
メソッドを使用してオリジナルの値を取得できます。この値を現在の値と比較することで、フィールドが変更されたかどうかを判定できます。
if ($model->field_name !== $model->getOriginal('field_name')) {
// フィールドが変更された場合の処理
} else {
// フィールドが変更されていない場合の処理
}
- フィールドごとの監視:
Laravelでは、モデルの
booted
メソッドを使用してフィールドの変更を監視することもできます。以下は例です。
protected static function booted()
{
static::updating(function ($model) {
if ($model->isDirty('field_name')) {
// フィールドが変更された場合の処理
} else {
// フィールドが変更されていない場合の処理
}
});
}
これらの方法を使用して、Laravelでフィールドが変更されたかどうかを確認できます。適切な方法を選択し、必要に応じてコードをカスタマイズしてください。