关系 Laravel 多对多不工作

Relational Laravel Many to Many not Working

我为管理员和学校 table 建立了多对多关系。 “SQLSTATE[42S22]:未找到列:1054 'field list' 中的未知列 'admin_id'(SQL:插入 admin_schooladmin_idschool_id) 值 (91, 2))"

Table :

  1. 管理员
  2. 学校
  3. admin_school(枢轴table)

这里是结构枢轴table

模型管理员

public function schools(){        
    return $this->belongsToMany('App\Models\School', 'admin_school', 'admin_id', 'school_id');
}

模范学校

public function admins(){
    return $this->belongsToMany('App\Admin', 'admin_school', 'admin_id', 'school_id');
}

控制器

$stateAction = Admin::create($data);
$stateAction->schools()->attach($input["data"]["school_id"]);

我认为你的关系定义有问题,foreign_key在关系中先出现local_key在后,但你提到local_key,首先和foreign_key之后是管理员关系。

public function admins(){
    return $this->belongsToMany('App\Admin', 'admin_school', 'school_id', 'admin_id'  );
}