我正在尝试建立多对多关系b/w三表我不知道如何建立关系,请确认我的关系是否正确。
项目表
id | name
用户表
id | name
项目分配
id | user_id | project_id
用户模型
public function project_assign()
{
return $this->belongsToMany('AppProject_assign','project_assign','user_id','id');
}
项目分配模型
public function user()
{
return $this->belongsToMany('AppUser','Project_assign','user_id','id');
}
项目模型
public function project_assign()
{
return $this->belongsToMany('AppProject_assign','project_assign','project_id','id');
}
您不需要在project_assign模型中建立关系。只有项目和用户有关系,
项目型号
public function users(){
return $this->belongsToMany('AppUser','project_assign','project_id','user_id');
}
用户型号
public function projects(){
return $this->belongsToMany('AppProject','project_assign','user_id','project_id');
}
在控制器中,您可以得到这样的
User::with('projects')->get();
Project::with('users')->get();