Laravel - errno: 150 外键约束格式不正确



我想在公司模型和工作模型之间建立关系 但它给了我这个错误:

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(AppJob::class);
}
}

工作模式:

class Job extends Model{
public $table="jobs";
public function company() {
return $this->belongsTo(AppCompany::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');
});
}

我不知道问题出在哪里

您应该在引用源中使用表名comppanies,因此:

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

应该是 :

$table->foreign('company_id')->references('id')->on('comppanies');
_____________________________________________________^^^^^^^^^^

最新更新