Ich hatte das gleiche Problem. Behoben durch Hinzufügen von nullable
zum Feld:
Schema::create('table_name', function (Blueprint $table) {
...
$table->integer('some_id')->unsigned()->nullable();
$table->foreign('some_id')->references('id')->on('other_table');
...
});
Beachten Sie, dass nach der Migration alle vorhandenen Zeilen some_id = NULL
haben werden .
UPD :
Seit Laravel 7 gibt es einen kürzeren Weg, dasselbe zu tun:
$table->foreignId('some_id')->nullable()->constrained();
Es ist auch sehr wichtig, dass nullable
kommt VOR constrained
.
Weitere Informationen finden Sie hier, in der offiziellen Dokumentation