您好,登录后才能下订单哦!
这篇“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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。