Laravel - errno: 150 Ограничение внешнего ключа сформировано неправильно - PullRequest
0 голосов
/ 03 сентября 2018

Я хочу установить связь между моделью компании и моделью работы. Но это дает мне эту ошибку:

PDOException::("SQLSTATE[HY000]: General error: 1005 Can't create table `my-career`.`#sql-2fd8_ba` (errno: 150 "Foreign key constraint is incorrectly formed")")

Фирменная модель:

class Company extends Model{
    public $table="comppanies";
    public function jobs() {
        return $this->hasMany(App\Job::class);
    }
}

Модель вакансии:

class Job extends Model{
    public $table="jobs";
    public function company() {
        return $this->belongsTo(App\Company::class, 'company_id');
    }
}

Таблица заданий:

public function up()
{
    Schema::create('jobs', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->integer('company_id')->unsigned();
        $table->foreign('company_id')->references('id')->on('company');
    });
}

Я не знаю, в чем проблема

1 Ответ

0 голосов
/ 03 сентября 2018

Вы должны использовать имя таблицы comppanies в ссылочном источнике, поэтому:

$table->foreign('company_id')->references('id')->on('company');

Должно быть:

$table->foreign('company_id')->references('id')->on('comppanies');
_____________________________________________________^^^^^^^^^^
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...