timestamp
Метод timestamp применяется в миграциях Laravel для создания колонки типа TIMESTAMP в базе данных. Данный тип поля хранит дату и время с точностью до секунды и автоматически обновляется при изменении записи, если для колонки установлено свойство useCurrent. В качестве параметра метод принимает имя колонки. По умолчанию создаваемая колонка допускает значение NULL.
Синтаксис
<?php
Schema::create('table_name', function (Blueprint $table) {
$table->timestamp($column);
});
?>
Пример
Давайте создадим простую колонку published_at типа timestamp:
<?php
use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;
return new class extends Migration
{
public function up()
{
Schema::create('articles', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('content');
$table->timestamp('published_at')->nullable();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('articles');
}
};
?>
Результат выполнения миграции:
"Migration table created successfully."
"Migration: 2026_01_01_000000_create_articles_table"
Пример
Используем метод useCurrent для автоматической установки текущего времени:
<?php
use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;
return new class extends Migration
{
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->timestamp('published_at')->useCurrent();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('posts');
}
};
?>
Пример
Добавим колонку timestamp в существующую таблицу с помощью метода table:
<?php
use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateSupportFacadesSchema;
return new class extends Migration
{
public function up()
{
Schema::table('articles', function (Blueprint $table) {
$table->timestamp('last_viewed_at')->nullable();
});
}
public function down()
{
Schema::table('articles', function (Blueprint $table) {
$table->dropColumn('last_viewed_at');
});
}
};
?>
Результат выполнения миграции:
"Migration: 2026_01_01_000002_add_timestamp_to_articles_table"
"Column 'last_viewed_at' added successfully."
Смотрите также
-
метод
timestamps,
который создаёт поля created_at и updated_at -
метод
dateTime,
который создаёт колонку с типом DATETIME -
метод
date,
который создаёт колонку с типом DATE -
метод
timestampTz,
который создаёт колонку с поддержкой часового пояса