Поле boolean
Метод boolean применяется при создании таблиц через миграции Laravel и добавляет логическое поле с типом данных BOOLEAN (или TINYINT в зависимости от используемой СУБД). Первым параметром передаётся имя колонки. Дополнительно метод можно комбинировать с другими методами для настройки поведения поля, такими как default, nullable или comment.
Синтаксис
<?php
Schema::table('table_name', function (Blueprint $table) {
$table->boolean($column);
});
?>
Пример
Давайте создадим таблицу users с логическим полем is_active, которое по умолчанию будет равно true:
<?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->boolean('is_active')->default(true);
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('users');
}
};
?>
Пример
Создадим таблицу products с полем is_available, которое может принимать значение NULL:
<?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->boolean('is_available')->nullable();
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('products');
}
};
?>
Пример
Добавим логическое поле is_admin в существующую таблицу users с комментарием:
<?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->boolean('is_admin')->default(false)->comment('Is user administrator');
});
}
public function down(): void
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('is_admin');
});
}
};
?>
Смотрите также
-
метод
integer,
который создаёт целочисленное поле -
метод
string,
который создаёт строковое поле -
метод
timestamps,
который создаёт поля created_at и updated_at -
метод
index,
который добавляет индекс для поля