カラムが変更されたか判断する必要があり、動作を確認したメモ。
>>> $group = App\Group::all()->last();
=> App\Group {#49052
id: 10,
name: "Aグループ",
mailaddress: "[email protected]",
prefectures_id: 13,
city: "千代田区",
address: "大手町一丁目",
telephone: "03XXXXXXXX",
created_at: "2019-01-09 12:09:56",
updated_at: "2019-01-09 12:09:56",
}
値を変更してみる
>>> $group->name = "hoge";
=> "hoge"
>>> $group->telephone = "03YYYYYYYY"
=> "03YYYYYYYY"
isDrityメソッドで確認。変更されてるのでtrueですね。
>>> $group->isDirty();
=> true
カラム絞っても確認できます。
>>> $group->isDirty("name");
=> true
>>> $group->isDirty("city");
=> false
>>> $group->isDirty(["name", "city"]);
=> true
変更された内容はgetDirtyメソッドで確認。
変更されたnameとtelephoneの内容が確認できる。
>>> $group->getDirty();
=> [
"name" => "hoge",
"telephone" => "03YYYYYYYY",
]
変更前の値が知りたい場合にはgetOriginalメソッド
>>> $group->getOriginal();
=> [
"id" => 10,
"name" => "Aグループ",
"mailaddress" => "[email protected]",
"prefectures_id" => 13,
"city" => "千代田区",
"address" => "大手町一丁目",
"telephone" => "03XXXXXXXX",
"created_at" => "2019-01-09 12:09:56",
"updated_at" => "2019-01-09 12:09:56",
]
>>> $group->getOriginal("name");
=> "Aグループ"
saveしてみる。
isDirtyはfalseを返すようになり、getOriginalで確認しても更新後の値に書き換わっている。
>>> $group->save();
=> true
>>> $group->isDirty();
=> false
>>> $group->getOriginal("name");
=> "hoge"