概要
モデルオブジェクトで使えるfresh()とrefresh()メソッドの違いを記述します。
fresh()
fresh()は、最新のモデルの状態を返却するメソッドです。
メソッドを生やした元のモデルオブジェクトは最新になりません。
例
$user1 = User::firstWhere('name','John');
$user2 = User::firstWhere('name','John');
$user2->update([
'name' => 'hoge'
]);
$freshUser = $user1->fresh();
dd($user1->name,$freshUser->name);
// John hoge
refresh()
refresh()は、メソッドを実行したモデルオブジェクトを最新の状態にします。
例
$user1 = User::firstWhere('name','John');
$user2 = User::firstWhere('name','John');
$user2->update([
'name' => 'hoge'
]);
$user1->refresh();
dd($user1->name);
// hoge