【问题标题】:How can I set custom length for integer field by using Blueprint class in Laravel如何使用 Laravel 中的 Blueprint 类为整数字段设置自定义长度
【发布时间】:2017-11-08 08:56:01
【问题描述】:

我正在尝试为用户的整数类型字段设置自定义长度 输入。 通过使用 Blueprint 类,我可以为 varchar 字段设置自定义长度 像 $table->string('varchar_field',50);。但是我没有找到任何方法 为整数字段设置自定义长度,始终采用默认长度。

例如:

Varchar : 
$table->string('varchar_field',50);

Integer :
$table->integer('interger_field');

【问题讨论】:

    标签: laravel eloquent


    【解决方案1】:

    你不能这样做,但你可以选择one of available integer types

    // BIGINT equivalent, integers from -9223372036854775808 to 9223372036854775807
    $table->bigInteger('interger_field');
    
    // INTEGER equivalent, integers from -2147483648 to 2147483647
    $table->integer('interger_field');
    
    // MEDIUMINT equivalent, integers from -8388608 to 8388607
    $table->mediumInteger('interger_field');
    
    // SMALLINT equivalent, integers from -32768 to 32767
    $table->smallInteger('interger_field');
    
    // TINYINT equivalent, integers from -128 to 127
    $table->tinyInteger('interger_field');
    

    你会发现所有整数类型的描述here

    【讨论】:

    • 根据个人默认值设置具体长度。我需要根据用户给定的输入设置自定义长度。您还有其他解决方案来实现此服务吗?
    【解决方案2】:

    您还可以创建具有特定长度的列(未经测试,但应该可以):

    $table->addColumn('integer', 'column_name', ['length' => 50]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-11
      • 1970-01-01
      • 1970-01-01
      • 2018-04-17
      • 1970-01-01
      • 2014-03-14
      • 1970-01-01
      • 2021-10-30
      相关资源
      最近更新 更多