Laravel迁移布尔字段在Db中创建,就像微小整数一样

时间:2017-05-17 15:17:56

标签: php laravel laravel-migrations

我在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');
    });

所需的字段定义为boolean,但在db(MySql)中创建为tinyint。怎么可能?

1 个答案:

答案 0 :(得分:2)

Tinyint与boolean相同。 Tinyint是一个大小等于1个八位字节的整数。创建列设置为boolean时,db会将其创建为大小为1 bit的tinyint。因此,使01成为boolean的可能值。

来自MySQL文档

BOOL, BOOLEAN

这些类型是TINYINT(1)的同义词。值zero被视为false。非零值被视为true

Numeric Type Overview