Как мы обсуждали в комментариях выше, столбец внешнего ключа должен быть того же типа, что и первичный ключ, на который он ссылается.
Вы объявили свой user.id
первичный ключ как $table->bigIncrements('id')
, который становится BIGINT UNSIGNED AUTO_INCREMENT
в синтаксисе MySQL.
Вы должны объявить внешний ключ как $table->unsignedBigInteger('user_id')
, который в MySQL станет BIGINT UNSIGNED
, что делает его совместимым с внешним ключом для столбца user.id
.