Laravel isDirty возвращает false, хотя значение изменилосьPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Laravel isDirty возвращает false, хотя значение изменилось

Сообщение Anonymous »

У меня есть простое приложение laravel 11 с таблицей MySQL с несколькими полями, включая имя и фамилию (тот же varchar 50).
они определены в защищенном $fillable, у меня есть столбец update_at. >
Когда я редактирую фамилию, она корректно обновляется в базе данных, когда я нажимаю «Сохранить».
Когда я редактирую имя, изменения не сохраняются, когда я нажимаю «Сохранить».Метод сохранения показывает:

Код: Выделить всё

static::saving(function ($model) {
foreach ($model->attributes as $key => $value) {
if ($model->isDirty($key)) {
$original = $model->getOriginal($key);
Log::info('IS DIRTY - YES - ' . $key . ' -- original: *' . ($original ?? 'null') . '*');
} else {
Log::info('IS DIRTY - NO - ' . $key . ' -- original: *' . ($original ?? 'null') . '*');
}
}
Я действительно не понимаю, почему значение не обновляется.
Я использую laravel 11.35 и php 8.4
спасибо за помощь
И когда я редактирую имя, значение «грязное» равно False, а исходное значение равно нулю, а значение — старое.>

Подробнее здесь: https://stackoverflow.com/questions/793 ... ue-changed
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»