increments()
以降 符号なし整数列を作成します。外部キー列も符号なし整数として定義する必要があります。
Laravel 6以降のデフォルトの移行では、bigIncrements()
を使用します 、したがって、unsignedBigInteger()
を使用する必要があります 方法:
$table->unsignedBigInteger('order_id');
https://laravel.com/docs/6.x/migrations #foreign-key-constraints
古いバージョンのLaravelでのデフォルトの移行には、unsignedInteger()
を使用します 方法:
$table->unsignedInteger('order_id');
または:
$table->integer('order_id')->unsigned();
https://laravel.com/docs/5.5/migrations#foreign-key -制約