LoginSignup
1
0

Eloquentのfresh()とrefresh()の違い

Posted at

概要

モデルオブジェクトで使える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

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0