我想使用laravel模型建立多对多关系



我正在尝试建立多对多关系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();

相关内容

  • 没有找到相关文章

最新更新