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

2022-08-30 17:29:24

首先,我对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网站只说这个

“确定给定属性是否为脏属性”

这并没有真正的帮助...


答案 1

如果想知道模型是否在从数据库中查询后已编辑,或者根本没有保存,请使用该函数。->isDirty()


答案 2

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

推荐