Pivot: team_member
team_id | member_id | status |
-----------------------------------
1 | 1 | 1 |
1 | 2 | 1 |
2 | 3 | 1 |
3 | 4 | 1 |
如何使用同步功能将最后一条记录更新为状态0?
$team = Team::find(3);
$member_ids = [4];
$status = 0;
$team->members()->sync($member_ids, ['status' => 0]);
如果team_id和member_id与现有的一样,则同步不起作用。
团队模型
public function members() {
return $this->belongsToMany(Member::class, 'team_member', 'team_id', 'member_id')->withPivot('status');
}
答案 0 :(得分:0)
尝试使用此功能:
更新数据透视表上的记录
如果需要更新数据透视表中的现有行,则可以使用updateExistingPivot方法。此方法接受数据透视记录外键和要更新的属性数组:
$team->members()->updateExistingPivot($memberId, ['status' => 0]);
致谢