В чем проблема в миграции?

Всем привет
Создал миграции Потом хотел связать в бд продукты и категории спомощью id и cat_id выскакивает ошибка
SQLSTATE[HY000]: General error: 3780 Referencing column 'cat_id' and referenced column 'id' in foreign key constraint 'products_cat_id_foreign' are incompatible. (SQL: alter table `products` add constraint `products_cat_id_foreign` foreign key (`cat_id`) references `categories` (`id`))

Сама миграция
Категория
public function up()
    {
        Schema::create('categories', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('title',115)->unique();
            $table->string('slug',220)->unique();
            $table->bigInteger('parent_id')->default('0');
            $table->enum('active',['0','1'])->default('1');
            $table->timestamps();

        });
        (new CategoryTableSeeder())->run();
    }


Продукт
public function up()
    {
        Schema::create('products', function (Blueprint $table) {
            $table->bigIncrements('id');

            $table->string('title',155);
            $table->text('anons')->default(NULL);
            $table->text('text')->default(NULL);
            $table->bigInteger('cat_id');
            $table->enum('hit',['0','1'])->default('0');
            $table->enum('new',['0','1'])->default('0');
            $table->enum('action',['0','1'])->default('0');

            $table->string('meta_title',255)->default(NULL);
            $table->string('meta_desc',255)->default(NULL);
            $table->string('meta_keywords',255)->default(NULL);

            $table->timestamps();
        });

    }


И собственно связь
public function up()
    {
        Schema::table('products', function (Blueprint $table) {
            $table->foreign('cat_id')->references('id')->on('categories');
        });
    }


подскажите в чем проблема. Почему в ошибке пишется о не совместимости, если там одинаковый формат колонок?
  • Вопрос задан
  • 6942 просмотра
Решения вопроса 1
Fragster
@Fragster
помогло? отметь решением!
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы