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.