РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
169 of 1392 menu

Атрибут timestamps

Атрибут timestamps определяет, будет ли Eloquent автоматически обновлять поля created_at и updated_at при создании и обновлении модели. По умолчанию значение атрибута равно true. Если установить false, автообновление меток времени будет отключено. Это полезно для таблиц, которые не содержат стандартных полей с метками времени.

Синтаксис

<?php class Model extends Model { public $timestamps = false; } ?>

Пример

Давайте создадим модель, у которой отключены временные метки:

<?php namespace AppModels; use IlluminateDatabaseEloquentModel; class Article extends Model { public $timestamps = false; } ?>

Теперь при создании записи поля created_at и updated_at не будут заполняться автоматически.

Пример

Создадим новую статью без автоматических меток времени:

<?php namespace AppHttpControllers; use AppModelsArticle; class ArticleController extends Controller { public function store() { $article = new Article(); $article->title = 'article 1'; $article->content = 'text 1'; $article->save(); $res = $article->toArray(); print_r($res); } } ?>

Результат выполнения кода:

[ "id" => 1, "title" => "article 1", "content" => "text 1" ]

Пример

Включим временные метки для модели, указав timestamps равным true (или просто опустив эту строку, так как значение по умолчанию - true):

<?php namespace AppModels; use IlluminateDatabaseEloquentModel; class Article extends Model { public $timestamps = true; } ?>

Теперь при сохранении модели поля created_at и updated_at будут автоматически заполнены:

<?php namespace AppHttpControllers; use AppModelsArticle; class ArticleController extends Controller { public function store() { $article = new Article(); $article->title = 'article 2'; $article->content = 'text 2'; $article->save(); $res = $article->toArray(); print_r($res); } } ?>

Результат выполнения кода:

[ "id" => 2, "title" => "article 2", "content" => "text 2", "created_at" => "2026-09-07 10:30:00", "updated_at" => "2026-09-07 10:30:00" ]

Пример

Обновим модель с включенными метками времени и посмотрим, как обновится поле updated_at:

<?php namespace AppHttpControllers; use AppModelsArticle; class ArticleController extends Controller { public function update() { $article = Article::find(2); $article->title = 'article 2 updated'; $article->save(); $res = $article->toArray(); print_r($res); } } ?>

Результат выполнения кода:

[ "id" => 2, "title" => "article 2 updated", "content" => "text 2", "created_at" => "2026-09-07 10:30:00", "updated_at" => "2026-09-07 10:35:00" ]

Смотрите также

  • метод touch,
    который принудительно обновляет временные метки
  • метод withoutTimestamps,
    который временно отключает обновление меток времени
  • атрибут dateFormat,
    который определяет формат хранения дат
  • атрибут casts,
    который преобразует типы данных модели
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить