For foreign key migrations instead of integer()
use unsignedInteger()
type or integer()->unsigned()
, otherwise you may get SQL errors.
Example for field 'user_id':
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('content');
$table->timestamps();
$table->integer('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
});
you can also you this unsignedInteger():
$table->unsignedInteger('user_id');
You can also use unsignedBigInteger()
if that other column is bigInteger() type.
$table->unsignedBigInteger('todo_id');