【发布时间】:2021-10-12 13:33:27
【问题描述】:
在管理面板中,我有一个名为 Group 的东西,管理员可以创建一组用户,所以我的方案是:
groups 表包含:
| id | name |
|---|---|
| 1 | group1 |
group_user 表包含:
| id | group_id | user_id |
|---|---|---|
| 1 | 1 | 2 |
| 2 | 1 | 3 |
我的逻辑是:如果user 属于group,那么user 不能再次添加到同一个group:
在更新中,当我添加一个已经存在于group 中的user 时,它又添加了它:
public function update($id, Request $request)
{
$request->validate([
'name' => 'sometimes|nullable|string',
'user_ids' => 'sometimes|array',
]);
$group = Group::findOrFail($id);
$group->update($request->only('name'));
if ($ids = $request->user_ids) {
$group->users()->attach($ids);
}
return $this->apiRespone(null, 'group updated successfully', null, 200);
}
【问题讨论】: