(资料图)
本篇文章带大家聊聊Laravel数据模型中isDirty()和wasChanged()的区别,希望对大家有所帮助!Laravel 数据模型中 `isDirty()` 和 `wasChanged()` 有区别吗?
答案:是有区别的。
相关代码: github.com/laravel/framework/blob/...
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;}
登录后复制
简而言之.
答案引用于: laracasts.com/discuss/channels/elo...
【相关推荐:laravel视频教程】
以上就是浅析Laravel中isDirty()和wasChanged()的区别的详细内容,更多请关注php中文网其它相关文章!