Laravel 5.5在迁移文件中设置整数字段的大小

时间:2017-12-27 07:12:49

标签: laravel laravel-5.5

我是laravel的新手。

现在我使用migrate命令创建一个表,但该字段的长度不适用。 Laravel不提供此选项。 ?

以下是我的代码:

$table->increments('id')->length(11);
$table->dateTime('created_time');
$table->integer('bank_id')->length(11);
$table->tinyInteger('is_black')->length(1);

字段is_black的长度应为1,但实际上生成为4。 我该如何解决这个问题?

任何建议或建议都将不胜感激。

提前谢谢

7 个答案:

答案 0 :(得分:10)

你不能这样做,但你可以使用不同类型的整数:

$table->bigInteger()
$table->mediumInteger()
$table->integer()
$table->smallInteger()
$table->tinyInteger()

https://laravel.com/docs/5.5/migrations#columns

答案 1 :(得分:3)

根据https://laravel.com/docs/5.5/migrations, 您可以使用以下类型之一:

$table->bigInteger('votes');
$table->integer('votes');

$table->mediumInteger('votes'); 
$table->smallInteger('votes');
$table->tinyInteger('votes');
$table->unsignedBigInteger('votes');
$table->unsignedMediumInteger('votes'); 
$table->unsignedSmallInteger('votes');  
$table->unsignedTinyInteger('votes');   

答案 2 :(得分:3)

根据https://laravel.com/docs/5.1/migrations,从Laravel 5.1开始,您可以使用UIScene列类型创建长度为1的“布尔型” boolean(MySQL)。因此,例如:

TINYINT

答案 3 :(得分:3)

$table->increments('id',11);
$table->dateTime('created_time');
$table->integer('bank_id',11);
$table->tinyInteger('is_black',1);

答案 4 :(得分:2)

这是我的解决方案! 在函数运行内部。

imagePart.setHeader(QNetworkRequest::ContentDispositionHeader, 
                    QVariant("form-data; name=\"file\""));

答案 5 :(得分:1)

您可以使用这种方式。祝你好运。

$table->decimal('is_black',1,0);

答案 6 :(得分:1)

此代码对我有用。

$table->addColumn('tinyInteger', 'field_name',
                  ['lenght'   => 2,
                   'default'  => '1',
                   'autoIncrement' => false,
                   'unsigned' => true,
                   'comment'  => 'Some comments']);