[PHP][Laravel] LaravelのEloquentで更新前の値を取得

バージョン

Laravel 6.0

概要

Eloquentでレコード更新(save)前に更新対象と変更前の値を取得する。
その他にも変更前情報関連のサンプルコードを記載する。

コード

    $user_info = UserInformation::find($user_id);

    $user_info->name = '山田太郎';
    $user_info->status = 4;

     // 変更前ステータス
    $before_status = $user_info->getOriginal("status");
    // 全ての変更前値をみたい
    $dirty = $user_info->getDirty();
    foreach ($dirty as $field => $new_data)
    {
        $old_data = $user_info->getOriginal($field);
    }

    // 変更対象数の確認
    if (count($dirty) > 0){
        // 変更対象がある
        $user_info->save();
    }



速習 Laravel 6 速習シリーズ

速習 Laravel 6 速習シリーズ