Eloquent при создании экземпляра модели свойство updated_at устанавливает равным created_at, а не NULL. Как это исправить?

Раньше при создании экзепляра класса свойство updated_at автоматически устанавливалось в null. Сейчас полез смотреть - все свойства равны created_at (unix_timestamp). Что за шутка, никто не в курсе?.. Может я где настройки сбил?.. Или это такие "позитивные изменения" накатили с обновлением библиотеки?..
  • Вопрос задан
  • 277 просмотров
Решения вопроса 2
miraage
@miraage
Старый прогер
Раньше при создании экзепляра класса свойство updated_at автоматически устанавливалось в null.

С Laravel 4 не работал, но в Laravel 5 так было всегда. updated_at при создании выставляется.
source.

Как исправить?
Выключить $timestamps в модели. Написать свою логику этих полей.
Ответ написан
Комментировать
deniamnet
@deniamnet
New Yorker, web developer
И в L4 и в L5 так было всегда. Updated_At всегда выставлялось равным Created_At при создании записи. Смотрите сорсы, там это есть.

Выход - выключить timestamps и обновлять эти поля самому в событиях модели (например, User::creating() или User::updating()). Подробнее: https://laravel.com/docs/5.3/eloquent#events
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы