Laravel 中的 isDirty() 是什么意思?

新手上路,请多包涵

首先,我对 Laravel 不是很熟悉(或者对“脏”这个词不熟悉)。

我偶然发现了这行代码 -

 if ($this->isDirty('status')) {
    if (Notification::has('website-status-' . strtolower($this->status))) {
        Notification::set($this->account, 'website-status-' . strtolower($this->status), $this->emailAttributes())
            ->email();
    }
}

我不明白那到底是什么意思。我试图在互联网上查找,但 Laravel 网站只说了这个

“确定给定属性是否脏”

这真的没有帮助……

原文由 shay.k 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 646
2 个回答

如果您想知道模型自从从数据库中查询后是否已被编辑,或者根本没有保存,那么您可以使用 ->isDirty() 函数。

原文由 nickforall 发布,翻译遵循 CC BY-SA 3.0 许可协议

isDirty 方法确定自加载模型后是否更改了任何属性。您可以传递一个特定的属性名称来确定一个特定的属性是否是脏的。

     $user = User::create([
        'first_name' => 'Amir',
        'last_name' => 'Kaftari',
        'title' => 'Developer',
    ]);

    $user->title = 'Jafar';
    $user->isDirty(); // true
    $user->isDirty('title'); // true
    $user->isDirty('first_name'); // false

原文由 Amir Kaftari 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏