猿问

拉拉维尔 5.8 雄辩的创建() 返回错误的 Id

public function up() {

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

            $table->bigIncrements( 'id' );

            $table->string( 'sku' );

            $table->text( 'title' )->nullable()->default( '' );

            $table->integer( 'cost' )->default(0);

            $table->integer( 'qty' )->default(0);

            $table->string( 'stock_tracking' )->default('')->nullable();

            $table->integer( 'type' )->default(1);

            $table->text( 'image' )->nullable();

            $table->integer( 'user_id' );

            $table->integer( 'status' )->default(1);

            $table->timestamps();

        } );

        \Illuminate\Support\Facades\DB::statement( "ALTER TABLE `active_stocks` AUTO_INCREMENT = 9999999999;" );

    }

我已将自动增量设置为我在开发中想要的某个值。然后我创建一个新记录使用拉拉维尔雄辩


$create = App/ActiveStock::create(

 [

    'sku'            => $item_array['sku'],

    'qty'            => $item_array['qty'],

    'stock_tracking' => $item_array['tracking'],

    'type'           => ActiveStock::TYPE_IMPORTED,

    'cost'           => $item_array['cost'],

    'user_id'        => $user_id,

 ]

)


echo $create->id; //Should be 9999999999

但我得到了这个但是我看了数据库的id值是正确的。21474836479999999999


我在这里错过了什么。


Cats萌萌
浏览 59回答 2
2回答

慕勒3428872

2147483647是 32 位有符号整数的最大值。您可能使用的是 32 位版本的 PHP。

慕村9548890

您正在访问的数字太大。 是 的最大限制。如果要存储和使用大于此值的数字,则可能需要将列类型从 更改为类似 。214748364732-bit intintvarchar(100)
随时随地看视频慕课网APP
我要回答