Laravel中isDirty()和wasChanged()有什么区别

这篇“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()有什么区别”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注创新互联行业资讯频道。


本文名称:Laravel中isDirty()和wasChanged()有什么区别
标题来源:http://bzwzjz.com/article/jcidei.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站建设 商城网站建设 成都网站建设 广安网站设计 梓潼网站设计 重庆网站建设 成都网站建设公司 手机网站制作 成都网站制作 手机网站制作设计 重庆电商网站建设 成都网站建设 营销网站建设 网站设计制作报价 重庆外贸网站建设 网站建设 重庆网站制作 成都企业网站设计 成都网站设计 成都网站设计 成都商城网站制作 成都响应式网站建设