У меня есть простой блог, в котором у меня есть пост, который содержит заголовок и теги, теперь я хочу, чтобы пользователь мог добавлять теги в соответствии с документами, которые мне нужны для создания сводной таблицы с использованием соглашения об именах.
Таблица сообщений в PHPMyAdmin
id title
1 Death
2 Love
Таблица тегов в PHPMyAdmin
id name
Вот моя миграция для создания сводной таблицы
<?php
class CreatePostTagTable extends Migration
{
public function up()
{
Schema::create('post_tag', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('post_id')->unsigned();
$table->foreign('post_id')->references('id')->on('posts');
$table->integer('tag_id')->unsigned();
$table->foreign('tag_id')->references('id')->on('tags');
});
}
public function down()
{
Schema::dropIfExists('post_tag');
}
}
Теперь, когда язапустите PHP artisan migrate
Я получаю следующую ошибку.
SQLSTATE[HY000]: General error: 1005 Can't create table `royalad`.`#sql-ee8_307` (errno: 150 "Foreign key constraint is incorrectly formed") (SQL: alter table `post_tag` add constraint `post_tag_post_id_foreign` foreign key (`post_id`) references `posts` (`id`))
Что я делаю не так с моим кодом?