Jeg havde samme problem. Rettede det ved at tilføje nullable
til felt:
Schema::create('table_name', function (Blueprint $table) {
...
$table->integer('some_id')->unsigned()->nullable();
$table->foreign('some_id')->references('id')->on('other_table');
...
});
Bemærk, at efter migreringen vil alle eksisterende rækker have some_id = NULL
.
UPD :
Siden Laravel 7 er der mere kort vej til at gøre det samme:
$table->foreignId('some_id')->nullable()->constrained();
Det er også meget vigtigt, at nullable
går FØR constrained
.
Mere info kan du finde her i officielle dokumentation