Я написал миграцию в 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. Как это возможно?
Tinyint так же, как boolean
, Tinyint
целое число размером 1 октет. При создании столбца задайте как boolean
БД создает его как tinyint с размером 1 bit
, Таким образом, делая возможными значения 0
а также 1
который является boolean
,
Из документации MySQL
BOOL, BOOLEAN
Эти типы являются синонимами для TINYINT(1)
, Значение zero
Считается false
, Ненулевые значения считаются true
Других решений пока нет …