---
title: 'Laravel и обновление моделей'
url: 'https://graker.ru/news/2018/08/30/laravel-model-updates'
language: ru
type: post
author: 'Роман Грачев'
published: '2018-08-30T19:25:00+03:00'
updated: '2018-08-30T19:48:44+03:00'
categories:
  - Laravel
  - Программирование
---

# Laravel и обновление моделей

![Laravel и обновление моделей](https://graker.ru/sites/default/files/styles/max_1300x1300/public/uploads/2018-08/break.jpg.webp?itok=RtEwMkG_)

В документации на фреймворк я не заметил об этом ни слова. Но оказывается, в Ларавеле обновление моделей по `$model->update()` действительно происходит только если переданы данные, отличающиеся от уже сохраненных. А если данные переданы те же, никакого апдейта не случится, и даже `updated_at` останется тем же.

Заметил случайно, когда чесал репу — почему же я запускаю скрипт апдейта данных из внешнего реестра, а время в `updated_at` по-прежнему равно времени создания. Хотя и тесты проходят, и скрипт запускается без ошибок. А вон оно как.

Если все же нужно, чтобы время обновления поменялось даже если запроса не было, надо использовать метод `$model->touch()`.

Мне кажется, такие вещи в документах нужно писать большими буквами рядом со счетчиком уже пострадавших программистов.
