РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
93 of 1392 menu

Поле year

Метод year в миграциях Laravel создает столбец типа YEAR, который предназначен для хранения года в формате YYYY. Этот метод принимает имя столбца в качестве первого параметра. Метод возвращает объект ColumnDefinition, что позволяет использовать дополнительные модификаторы, такие как nullable, default, unsigned, index и другие. Столбец year удобен для хранения данных о годе, например, года выпуска продукта, года основания компании или года регистрации события.

Синтаксис

<?php Schema::table('table_name', function (Blueprint $table) { $table->year('column_name'); }); ?>

Пример

Давайте создадим таблицу products с полем для хранения года выпуска:

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up(): void { Schema::create('products', function (Blueprint $table) { $table->id(); $table->string('name'); $table->year('release_year'); $table->timestamps(); }); } public function down(): void { Schema::dropIfExists('products'); } }; ?>

Пример

Добавим поле founded_year в уже существующую таблицу companies, сделав его необязательным:

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up(): void { Schema::table('companies', function (Blueprint $table) { $table->year('founded_year')->nullable(); }); } public function down(): void { Schema::table('companies', function (Blueprint $table) { $table->dropColumn('founded_year'); }); } }; ?>

Пример

Создадим поле production_year со значением по умолчанию и индексом для ускорения поиска:

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up(): void { Schema::table('items', function (Blueprint $table) { $table->year('production_year') ->default(2026) ->index() ->comment('Год производства товара'); }); } public function down(): void { Schema::table('items', function (Blueprint $table) { $table->dropColumn('production_year'); }); } }; ?>

Смотрите также

  • метод date,
    который создает столбец для хранения даты
  • метод dateTime,
    который создает столбец для хранения даты и времени
  • метод time,
    который создает столбец для хранения времени
  • метод timestamp,
    который создает столбец для хранения метки времени
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить