カラムが変更されたか判断する必要があり、動作を確認したメモ。
>>> $group = App\Group::all()->last();
=> App\Group {#49052
id: 10,
name: "Aグループ",
mailaddress: "hoge@example.com",
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" => "hoge@example.com",
"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"