這是一篇簡短的博客文章,解釋了 Eloquent 模型上 fresh() 和 refresh() 之間的差異。
假設(shè)我們手頭有一個由 $team 變量表示的團(tuán)隊(duì)模型。
在 Laravel 中, $team->fresh() 和 $team->refresh() 都用于從數(shù)據(jù)庫重新加載與模型關(guān)聯(lián)的數(shù)據(jù)。 然而,它們之間在使用方式上存在細(xì)微的差別:
$team->fresh():
$team->fresh() 是一種從數(shù)據(jù)庫重新加載模型數(shù)據(jù)的更明確的方法。
它使用數(shù)據(jù)庫中的數(shù)據(jù)返回模型的新實(shí)例,保持原始模型不變。
當(dāng)您想要獲取模型的新實(shí)例而不修改現(xiàn)有實(shí)例時,它非常有用。
例子:
$freshTeam = $team->fresh(); // $team 保持不變,$freshTeam // 包含刷新后的數(shù)據(jù)
$team->refresh():
$team->refresh()是直接就地刷新現(xiàn)有模型數(shù)據(jù)的方法。
它修改模型的當(dāng)前實(shí)例,使用數(shù)據(jù)庫中的數(shù)據(jù)更新其屬性。
當(dāng)您想要刷新當(dāng)前模型的數(shù)據(jù)而不創(chuàng)建新實(shí)例時,這非常有用。
例子:
$team->refresh(); // $team 使用刷新的數(shù)據(jù)進(jìn)行更新
總之,關(guān)鍵區(qū)別在于$team->fresh()返回具有新數(shù)據(jù)的新實(shí)例,同時$team->refresh()就地更新現(xiàn)有實(shí)例。它們之間的選擇取決于您是要使用模型的新副本還是更新現(xiàn)有模型。文章來源:http://www.zghlxwxcb.cn/article/392.html
文章來源地址http://www.zghlxwxcb.cn/article/392.html
到此這篇關(guān)于Laravel Eloquent 中 fresh() 和 refresh() 的區(qū)別的文章就介紹到這了,更多相關(guān)內(nèi)容可以在右上角搜索或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!