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

Метод smallInteger

Метод smallInteger применяется к схеме таблицы в миграциях Laravel и создаёт столбец типа SMALLINT. Диапазон значений зависит от используемой СУБД: в MySQL это числа от -32768 до 32767, в PostgreSQL от -32768 до +32767. Метод принимает один обязательный параметр - имя столбца, и возвращает объект ColumnDefinition для дальнейшей настройки.

Синтаксис

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

Пример

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

<?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->smallInteger('rating')->default(0); $table->timestamps(); }); } public function down(): void { Schema::dropIfExists('products'); } }; ?>

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

"Migration completed successfully"

Пример

Давайте добавим поле для возраста пользователя с ограничением по значению:

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

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

"Migration completed successfully"

Пример

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

<?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('sizes', function (Blueprint $table) { $table->id(); $table->string('name'); $table->smallInteger('width'); $table->smallInteger('height'); $table->smallInteger('depth')->default(0); $table->timestamps(); }); } public function down(): void { Schema::dropIfExists('sizes'); } }; ?>

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

"Migration completed successfully"

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

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