这是一篇简短的博客文章,解释了 Eloquent 模型上 fresh() 和 refresh() 之间的差异。
假设我们手头有一个由 $team 变量表示的团队模型。
在 Laravel 中, $team->fresh() 和 $team->refresh() 都用于从数据库重新加载与模型关联的数据。 然而,它们之间在使用方式上存在细微的差别:
$team->fresh():
$team->fresh() 是一种从数据库重新加载模型数据的更明确的方法。
它使用数据库中的数据返回模型的新实例,保持原始模型不变。
当您想要获取模型的新实例而不修改现有实例时,它非常有用。
例子:
$freshTeam = $team->fresh(); // $team 保持不变,$freshTeam // 包含刷新后的数据
$team->refresh():
$team->refresh()是直接就地刷新现有模型数据的方法。
它修改模型的当前实例,使用数据库中的数据更新其属性。
当您想要刷新当前模型的数据而不创建新实例时,这非常有用。
例子:
$team->refresh(); // $team 使用刷新的数据进行更新
总之,关键区别在于$team->fresh()返回具有新数据的新实例,同时$team->refresh()就地更新现有实例。它们之间的选择取决于您是要使用模型的新副本还是更新现有模型。文章来源:https://www.toymoban.com/diary/laravel/392.html
文章来源地址https://www.toymoban.com/diary/laravel/392.html
到此这篇关于Laravel Eloquent 中 fresh() 和 refresh() 的区别的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!