Laravel php artisan migrate Ошибка 150 - PullRequest
0 голосов
/ 05 сентября 2018

Я хочу создать категорию для компании, но у меня есть эта ошибка: SQLSTATE [HY000]: общая ошибка: 1005 Невозможно создать таблицу sanat. #sql-53e_e7d (номер ошибки: 150 «Неправильно сформировано ограничение внешнего ключа») (SQL: изменить таблицу company_category добавить ограничение company_category_company_id_foreign внешний ключ ( company_id) ссылки companies (id) на каскад удаления)

это мой код миграции для категории:

public function up()
{
    Schema::create('categories', function (Blueprint $table) {
        $table->increments('id')->unsigned();
        $table->string('name');
        $table->string('slug');
        $table->string('description')->nullable();
        $table->string('type');
        $table->string('imageUrl')->nullable();
        $table->timestamps();
    });
    Schema::create('article_category', function (Blueprint $table) {
        $table->integer('article_id')->unsigned();
        $table->foreign('article_id')->references('id')->on('articles')->onDelete('cascade');
        $table->integer('category_id')->unsigned();
        $table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade');
        $table->primary(['article_id', 'category_id']);
    });
    Schema::create('company_category', function (Blueprint $table) {
        $table->integer('company_id')->unsigned();
        $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');
        $table->integer('category_id')->unsigned();
        $table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade');
        $table->primary(['company_id', 'category_id']);
    });

}

так что таблицы компании и таблицы категорий не создаются. когда я уберу это:

Schema::create('company_category', function (Blueprint $table) {
    $table->integer('company_id')->unsigned();
    $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade');
    $table->integer('category_id')->unsigned();
    $table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade');
    $table->primary(['company_id', 'category_id']);
});

php artisan migrate работал. где проблема

это миграция моей компании:

Schema::create('companies', function (Blueprint $table) {
    $table->increments('id')->unsigned();
    $table->integer('user_id')->unsigned();
    $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
    $table->boolean('active')->default(false);
    $table->string('name');
    $table->string('email')->unique();
    $table->string('slug');
    $table->text('aboutUs');
    $table->integer('tell');
    $table->string('address');
    $table->string('tag');
    $table->string('logoUrl');
    $table->string('slideUrl')->unique();
    $table->string('facebookUrl');
    $table->string('instagramUrl');
    $table->string('telegramUrl');
    $table->string('whatsAppUrl');
    $table->string('websiteUrl');
    $table->timestamps();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...