Освоение использования текущей даты в миграции Laravel: подробное руководство

Laravel, популярный PHP-фреймворк, предлагает мощные функции и утилиты для работы с базами данных. Когда дело доходит до миграции базы данных, часто необходимо включить текущую дату в качестве значения по умолчанию для столбца. В этой статье блога мы рассмотрим несколько методов достижения этого требования при миграции Laravel. Мы предоставим примеры кода и объясним каждый подход простыми разговорными словами.

Метод 1: использование метода default
Метод defaultв миграции Laravel позволяет нам указать значение по умолчанию для столбца. Чтобы установить текущую дату в качестве значения по умолчанию, мы можем использовать метод DB::rawвместе с функцией NOW(), например:

public function up()
{
    Schema::table('your_table', function (Blueprint $table) {
        $table->timestamp('created_at')->default(DB::raw('NOW()'));
    });
}

Метод 2: использование метода useCurrent
Laravel предоставляет метод useCurrent, который автоматически устанавливает текущую метку времени в качестве значения по умолчанию для столбца метки времени. Вот пример:

public function up()
{
    Schema::table('your_table', function (Blueprint $table) {
        $table->timestamp('created_at')->useCurrent();
    });
}

Метод 3: заполнение текущей даты
При заполнении базы данных тестовыми данными вы можете захотеть установить текущую дату для определенных столбцов. В своем классе сеялки вы можете использовать функцию now(), предоставляемую Carbon, библиотекой даты и времени Laravel, для генерации текущей даты:

use Carbon\Carbon;
public function run()
{
    DB::table('your_table')->insert([
        'created_at' => Carbon::now(),
    ]);
}

В этой статье мы рассмотрели три различных метода установки текущей даты в миграциях Laravel. Используя метод defaultс DB::raw, метод useCurrentили функцию now()Carbon во время процесса заполнения, вы может легко выполнить это требование. Выберите метод, который лучше всего подходит для вашего конкретного случая использования, и с уверенностью интегрируйте его в свои миграции Laravel.