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

unsignedSmallInteger

Метод unsignedSmallInteger применяется внутри метода up класса миграции для создания столбца, который хранит целые числа от 0 до 65535. Этот тип данных полезен для хранения небольших числовых значений, например, возраста пользователя, количества товаров, рейтингов или других ограниченных по диапазону данных. В отличие от smallInteger, который допускает отрицательные значения, unsignedSmallInteger гарантирует, что в столбце будут только положительные числа.

Синтаксис

Базовый синтаксис метода в миграции:

<?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; Schema::create('table_name', function (Blueprint $table) { $table->unsignedSmallInteger('column_name'); }); ?>

Метод принимает один обязательный параметр - имя столбца. Дополнительные настройки могут быть добавлены через цепочку методов.

Пример

Создадим таблицу 'users' с полем 'age' типа unsigned small integer для хранения возраста пользователя:

<?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->unsignedSmallInteger('age'); $table->timestamps(); }); } public function down(): void { Schema::dropIfExists('users'); } }; ?>

Пример

Добавим столбец 'rating' в существующую таблицу '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::table('products', function (Blueprint $table) { $table->unsignedSmallInteger('rating')->default(0); }); } public function down(): void { Schema::table('products', function (Blueprint $table) { $table->dropColumn('rating'); }); } }; ?>

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

"Migration completed successfully"

Пример

Создадим таблицу 'orders' с полем 'quantity', установив ограничение на допустимые значения через nullable и default:

<?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('orders', function (Blueprint $table) { $table->id(); $table->foreignId('user_id')->constrained(); $table->unsignedSmallInteger('quantity')->nullable()->default(1); $table->timestamps(); }); } public function down(): void { Schema::dropIfExists('orders'); } }; ?>

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

  • метод unsignedTinyInteger,
    который создаёт столбец для чисел от 0 до 255
  • метод unsignedInteger,
    который создаёт столбец для чисел от 0 до 4294967295
  • метод smallInteger,
    который создаёт столбец для чисел от -32768 до 32767
  • метод index,
    который добавляет индекс для ускорения выборки по столбцу
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить