Чтобы получить текущую дату при миграции Laravel, вы можете использовать функцию now()из библиотеки Carbon, которая включена в Laravel. Carbon предоставляет удобный API для работы с датами и временем.
Вот несколько методов, которые можно использовать с примерами кода:
Метод 1: использование функции now()непосредственно в файле миграции
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
use Carbon\Carbon;
class CreateExampleTable extends Migration
{
public function up()
{
Schema::create('example', function (Blueprint $table) {
$table->increments('id');
$table->timestamp('created_at')->default(Carbon::now());
$table->timestamp('updated_at')->default(Carbon::now());
});
}
public function down()
{
Schema::dropIfExists('example');
}
}
В приведенном выше примере столбцы create_atи updated_atимеют тип timestampи имеют значения по умолчанию, равные текущей дате и времени, используя Carbon::now().
Метод 2. Использование автоматических столбцов временных меток Laravel
Laravel предоставляет сокращенный метод для создания столбцов created_atи updated_atс автоматическими метками времени. Вы можете использовать метод timestamps()в файле миграции.
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateExampleTable extends Migration
{
public function up()
{
Schema::create('example', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('example');
}
}
В этом примере метод timestamps()автоматически создает столбцы created_atи updated_atсо значениями по умолчанию, установленными для текущей даты и времени.