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

Поле integer

Метод integer используется в классе Blueprint при создании миграций. Он добавляет в таблицу колонку типа INT. Первым параметром передаётся имя колонки, вторым - длина (по умолчанию 11 для MySQL). Метод возвращает экземпляр ColumnDefinition, позволяя дополнительно настроить колонку с помощью модификаторов nullable, default, unsigned и других.

Синтаксис

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

Пример

Создадим миграцию для таблицы articles с полями id, title, views и rating:

<?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('articles', function (Blueprint $table) { $table->id(); $table->string('title'); $table->integer('views')->default(0); $table->integer('rating')->nullable(); $table->timestamps(); }); } public function down(): void { Schema::dropIfExists('articles'); } }; ?>

Результат выполнения команды миграции:

"Migration completed successfully"

Пример

Используем модификатор unsigned для создания беззнакового целого числа, например, для внешнего ключа:

<?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('comments', function (Blueprint $table) { $table->id(); $table->unsignedInteger('article_id'); $table->text('content'); $table->integer('likes')->default(0); $table->timestamps(); $table->foreign('article_id') ->references('id') ->on('articles') ->onDelete('cascade'); }); } public function down(): void { Schema::dropIfExists('comments'); } }; ?>

Результат выполнения миграции:

"Migration completed successfully"

Пример

Добавим колонку score в существующую таблицу users с помощью метода table:

<?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('users', function (Blueprint $table) { $table->integer('score')->default(0)->after('email'); }); } public function down(): void { Schema::table('users', function (Blueprint $table) { $table->dropColumn('score'); }); } }; ?>

Результат выполнения команды:

"Column added successfully"

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

  • метод unsignedBigInteger,
    который создаёт беззнаковое большое целое
  • метод bigInteger,
    который создаёт большое целое число
  • метод unsignedInteger,
    который создаёт беззнаковое целое
  • метод id,
    который создаёт первичный ключ с автоинкрементом
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить