关系 Laravel 多对多不工作
Relational Laravel Many to Many not Working
我为管理员和学校 table 建立了多对多关系。 “SQLSTATE[42S22]:未找到列:1054 'field list' 中的未知列 'admin_id'(SQL:插入 admin_school
(admin_id
, school_id
) 值 (91, 2))"
Table :
- 管理员
- 学校
- 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' );
}
我为管理员和学校 table 建立了多对多关系。 “SQLSTATE[42S22]:未找到列:1054 'field list' 中的未知列 'admin_id'(SQL:插入 admin_school
(admin_id
, school_id
) 值 (91, 2))"
Table :
- 管理员
- 学校
- 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' );
}