Подтвердить что ты не робот

Что isDirty() означает в Laravel?

Прежде всего, я не очень хорошо знаком с 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 говорит только об этом

"Определить, является ли данный атрибут грязным"

что не очень помогает...

4b9b3361

Ответ 1

Если вы хотите узнать, была ли изменена модель, поскольку она была запрошена из базы данных или вообще не сохраняется, вы используете функцию ->isDirty().

Ответ 2

В качестве поддержки принятого ответа:

$model = $Model::find(1);

$model->first_column = $request->first_value;
$model->second_column = $request->second_value;
$model->third_column = $request->third_value;

if($model->isDirty()){
// the model has been edited, else codes here will not be executed
}

$model->save();