Логическое поле миграции Laravel, созданное в Db, как крошечное целое число

Я написал миграцию в Laravel:

 Schema::create('test', function (Blueprint $table) {
//
$table->increments('id');
$table->string('city','30')->unique();
$table->string('car','30')->unique();
$table->boolean('required');
$table->string('street','100')->nullable();
$table->json('files');
$table->timestamp('created_at');
});

требуемое поле определяется как логическое, но в БД (MySql) создается как tinyint. Как это возможно?

1

Решение

Tinyint так же, как boolean, Tinyint целое число размером 1 октет. При создании столбца задайте как boolean БД создает его как tinyint с размером 1 bit, Таким образом, делая возможными значения 0а также 1 который является boolean,


Из документации MySQL

BOOL, BOOLEAN

Эти типы являются синонимами для TINYINT(1), Значение zero Считается false, Ненулевые значения считаются true

Числовой обзор типа

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]