Php Laravel迁移不正确的表定义

Php Laravel迁移不正确的表定义,php,mysql,laravel,laravel-4,Php,Mysql,Laravel,Laravel 4,尝试运行以下迁移时: Schema::create('languages', function(Blueprint $table){ $table->increments('id'); $table->string('lang', 10); $table->string('name', 50); $table->integer('active', 2); $table->

尝试运行以下迁移时:

    Schema::create('languages', function(Blueprint $table){

        $table->increments('id');

        $table->string('lang', 10);

        $table->string('name', 50);

        $table->integer('active', 2);

        $table->timestamps();
    });
我得到以下错误:

there can be only one auto column and it must be defined as a key
但laravel的文档说明:
$table->increments('id');增加表的ID(主键)

你知道怎么处理吗? 提前谢谢

你的问题是

$table->integer('active', 2);
传递给integer的第二个参数是一个布尔值,指示该列是否应为自动递增列,值
2
将被视为布尔值
true

编辑

如果只需要一个short整数(如布尔值),则使用

$table->tinyinteger('active');


问题是
$table->integer('active',2)

下面是
整数的方法签名:

public function integer($column, $autoIncrement = false, $unsigned = false)
第二个参数实际上是自动递增的标志。而
2
的计算结果为
true

不能指定整数的长度。但是,您可以使用
tinyInteger

$table->tinyInteger('active');

我的错,以为参数应该是长度!
$table->tinyInteger('active');