Получить текущую дату в миграции Laravel с примерами кода

Чтобы получить текущую дату при миграции 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со значениями по умолчанию, установленными для текущей даты и времени.