unsignedTinyInteger
Метод unsignedTinyInteger используется в миграциях
Laravel для создания целочисленного поля в таблице базы данных.
Размер поля составляет 1 байт, поэтому оно может хранить
беззнаковые числа в диапазоне от 0 до 255.
Этот тип часто применяется для хранения значений-флагов,
статусов, порядковых номеров или рейтингов, где требуется
маленькое целое число без отрицательных значений.
Синтаксис
<?php
Schema::create('table', function (Blueprint $table) {
$table->unsignedTinyInteger('column');
});
?>
Пример
Давайте создадим миграцию для таблицы 'users'
с полем 'age', которое будет хранить возраст пользователя:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->unsignedTinyInteger('age');
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('users');
}
};
?>
Пример
Давайте создадим поле 'rating' со значением
по умолчанию 0 для хранения рейтинга пользователя:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->unsignedTinyInteger('rating')->default(0);
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('users');
}
};
?>
Пример
Создадим поле 'is_active', которое будет хранить
флаг активности пользователя (0 или 1):
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->unsignedTinyInteger('is_active')->default(1);
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('users');
}
};
?>
Пример
Создадим поле 'status' с ограничением значения
через comment для хранения статуса заказа
(1 - новый, 2 - в обработке, 3 - завершён):
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up()
{
Schema::create('orders', function (Blueprint $table) {
$table->id();
$table->string('product');
$table->unsignedTinyInteger('status')->comment('1-new, 2-processing, 3-completed');
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('orders');
}
};
?>
Смотрите также
-
поле
tinyInteger,
которое создаёт знаковое целочисленное поле размером 1 байт -
поле
unsignedSmallInteger,
которое создаёт беззнаковое целочисленное поле размером 2 байта -
поле
unsignedInteger,
которое создаёт беззнаковое целочисленное поле размером 4 байта -
метод
default,
который устанавливает значение по умолчанию для поля