Когда я пытаюсь запустить команду переноса в laravel, я получаю эту ошибку
Illuminate\Database\QueryException : SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `posts` add constraint `posts_user_id_foreign` foreign key (`user_id`) references `users` (`id`) on delete cascade)
Прежде чем пометить этот вопрос как дублированный или отклоненный, прочитайте его полностью.
Решения, которые я нашел на этом сайте, были:
- Пометить как
unsigned
У меня есть это - Сделать целое число за 2 шага У меня есть
- Проблема заказа схемы Я предоставляю скриншот, чтобы увидеть, что это не так
Я не уверен, почему я получаю эту ошибку, вот мой код:
Schema::create('posts', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->string('slug')->unique();
$table->longText('body');
$table->string('photo');
$table->text('meta_description')->nullable();
$table->text('meta_tags')->nullable();
$table->integer('user_id')->unsigned();
$table->string('publish')->default('0');
$table->string('comment')->default('0');
$table->timestamps();
});
Schema::table('posts', function (Blueprint $table) {
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
});
Есть идеи?
Обновление
Схема пользователя
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('photo')->nullable();
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});