Ответ 1
Если вы хотите узнать, была ли изменена модель, поскольку она была запрошена из базы данных или вообще не сохраняется, вы используете функцию ->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 говорит только об этом
"Определить, является ли данный атрибут грязным"
что не очень помогает...
Если вы хотите узнать, была ли изменена модель, поскольку она была запрошена из базы данных или вообще не сохраняется, вы используете функцию ->isDirty()
.
В качестве поддержки принятого ответа:
$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();