Laravel版本7.0
我有一个“Team”模型和一个“User”模型,还有一个名为“team_has_users”的表。
“team_has_users”表具有“team_id”,“user_id”和“role”列。
一个用户可以以不同的角色属于一个团队。
例如,一个用户可以作为客户和员工属于一个团队。
在“Team”模型中,我设置了以下关系。
public function users(){
return $this->belongsToMany(User::class, 'team_has_user', 'team_id', 'user_id')
->withPivot('role');
}
当我将用户添加到团队时,它像这样很好地运行。
$item->users()->attach($request->clients, ['role'=>'client']);
$item->users()->attach($request->employees, ['role'=>'employee']);
但是,当我要同步它们时,我无法操作。
我尝试搜索并找到了一个类似的函数syncwithoutDetaching
,但似乎不适用于我的情况。
team_has_users
表可能像这样。
team_id user_id role
1 1 client
1 1 employee
1 2 client
1 1 other
...
有人可以帮我吗?
谢谢!
$item->users()->sync($request->clients, ['role'=>'client']
吗? - LoveCoding[$clientid=>['role'=>'client'],[$employeeid=>['role'=>'employee']]
- Dilip Hirapara$request->clients
和$request->employees
具有相同的ID,则此方法无法正常工作。 - LoveCoding