ハマったのでメモ。
だめな例
$table->foreignId('user_id')->constrained()->nullable();
OKな例
$table->foreignId('user_id')->nullable()->constrained();
constrained
の前にnullable
を入れないとだめでした。ものすごくハマりました。
最初下記を参考にしましたが、8.xではだめだったので、どこかのタイミングで仕様が変わったんでしょうかね。
PHP - laravel nullを許容する外部キーを作成できるのか?|teratail
https://teratail.com/questions/298892
参考
php - Laravel Database Schema, Nullable Foreign - Stack Overflow
https://stackoverflow.com/questions/37735055/laravel-database-schema-nullable-foreign
PHP - laravel nullを許容する外部キーを作成できるのか?|teratail
https://teratail.com/questions/298892