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

Поле tinyInteger

Метод tinyInteger применяется в миграциях Laravel для создания столбца типа TINYINT. Первым параметром передаётся имя колонки, вторым - длина (по умолчанию 4). Метод возвращает объект ColumnDefinition, который позволяет использовать дополнительные модификаторы, такие как nullable, default, unsigned и другие. TINYINT занимает 1 байт и может хранить значения от -128 до 127 (или от 0 до 255 для беззнакового типа).

Синтаксис

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

Пример

Давайте создадим таблицу 'users' с полем 'age' типа TINYINT:

<?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('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->tinyInteger('age'); $table->timestamps(); }); } public function down(): void { Schema::dropIfExists('users'); } }; ?>

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

"Migration table created successfully." "Migrating: 2026_01_01_000000_create_users_table" "Migrated: 2026_01_01_000000_create_users_table (0.05 seconds)"

Пример

Создадим поле 'status' типа TINYINT с модификаторами, которое будет хранить статус пользователя:

<?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->tinyInteger('status') ->default(1) ->nullable(false) ->comment('User status: 0 - inactive, 1 - active, 2 - blocked'); }); } public function down(): void { Schema::table('users', function (Blueprint $table) { $table->dropColumn('status'); }); } }; ?>

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

"Migration table created successfully." "Migrating: 2026_01_01_000001_add_status_to_users_table" "Migrated: 2026_01_01_000001_add_status_to_users_table (0.03 seconds)"

Пример

Создадим беззнаковое поле 'attempts' типа TINYINT для хранения количества попыток входа:

<?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->unsignedTinyInteger('attempts') ->default(0) ->nullable(true); }); } public function down(): void { Schema::table('users', function (Blueprint $table) { $table->dropColumn('attempts'); }); } }; ?>

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

"Migration table created successfully." "Migrating: 2026_01_01_000002_add_attempts_to_users_table" "Migrated: 2026_01_01_000002_add_attempts_to_users_table (0.04 seconds)"

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

  • поле unsignedTinyInteger,
    которое создаёт беззнаковое целочисленное поле
  • поле smallInteger,
    которое создаёт поле типа SMALLINT
  • поле integer,
    которое создаёт поле типа INTEGER
  • метод nullable,
    который позволяет полю принимать значение NULL
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить