您好,登錄后才能下訂單哦!
這篇“Laravel中isDirty()和wasChanged()有什么區別”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Laravel中isDirty()和wasChanged()有什么區別”文章吧。
Laravel 數據模型中 `isDirty()` 和 `wasChanged()` 有區別嗎?
答案:是有區別的。
isDirty 函數的代碼如下:
/**
* 判斷模型或者任意指定模型屬性是否被修改過
*
* @param array|string|null $attributes
* @return bool
*/public function isDirty($attributes = null){
return $this->hasChanges(
$this->getDirty(), is_array($attributes) ? $attributes : func_get_args()
);}
getChanges() 和 getDirty() 函數的代碼如下
/**
* 獲取自從最后一次同步以來,被修改的屬性值
*
* @return array
*/public function getDirty(){
$dirty = [];
foreach ($this->getAttributes() as $key => $value) {
if (! $this->originalIsEquivalent($key, $value)) {
$dirty[$key] = $value;
}
}
return $dirty;}/**
* 獲取所有已經被修改的屬性.
*
* @return array
*/public function getChanges(){
return $this->changes;}
簡而言之.
isDirty (and getDirty) 用在保存前置執行, 查看哪些屬性在從數據庫檢索到調用之間被修改過, 而 wasChanged (and getChanges)是保存后置執行,查看屬性是否在上次保存中(從代碼到數據庫)被修改或者更新.
以上就是關于“Laravel中isDirty()和wasChanged()有什么區別”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。