В Laravel миграции являются важной частью управления схемой базы данных. Они позволяют вам определять и изменять структуру таблиц вашей базы данных. Одним из распространенных требований является автоматическое создание меток времени для определенных столбцов, таких как «created_at» и «updated_at». В этом сообщении блога мы рассмотрим несколько методов автоматической генерации меток времени при миграции Laravel, используя разговорный язык и попутно предоставляя примеры кода.
Метод 1: использование меток времени Laravel по умолчанию
Laravel предоставляет удобный способ автоматического управления метками времени по умолчанию. Включив метод timestamps()
в вашу миграцию, Laravel автоматически создаст для вас столбцы «created_at» и «updated_at».
public function up()
{
Schema::create('your_table', function (Blueprint $table) {
// Your table columns definition
$table->timestamps();
});
}
Метод 2: настройка имен столбцов меток времени
Если вы предпочитаете использовать разные имена столбцов для меток времени, Laravel позволяет вам их настроить. Вы можете использовать метод timestamp()
для создания отдельных столбцов и указания их имен.
public function up()
{
Schema::create('your_table', function (Blueprint $table) {
// Your table columns definition
$table->timestamp('created_date')->useCurrent();
$table->timestamp('updated_date')->useCurrent()->nullable();
});
}
Метод 3: установка значений меток времени вручную
В некоторых случаях может потребоваться вручную установить значения для столбцов меток времени. В этом сценарии вы можете использовать метод nullableTimestamps()
вместо timestamps()
. При этом столбцы будут созданы без автоматического создания меток времени.
public function up()
{
Schema::create('your_table', function (Blueprint $table) {
// Your table columns definition
$table->nullableTimestamps();
});
}
Метод 4: определение меток времени для определенных столбцов.
Если вам нужны метки времени только для определенных столбцов, вы можете использовать метод dateTime()
для создания отдельных столбцов и установки их значений по умолчанию на текущие. время.
public function up()
{
Schema::create('your_table', function (Blueprint $table) {
// Your table columns definition
$table->dateTime('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
$table->dateTime('updated_at')->default(DB::raw('CURRENT_TIMESTAMP'));
});
}
Автоматическое создание меток времени при миграции Laravel — распространенное требование при работе с таблицами базы данных. В этом сообщении блога мы рассмотрели несколько методов достижения этой цели, в том числе использование меток времени Laravel по умолчанию, настройку имен столбцов, настройку значений вручную и определение меток времени для определенных столбцов. Используя эти методы, вы можете легко управлять отметками времени в своих приложениях Laravel и сосредоточиться на создании отличных функций.