如果已使用Laravel分配用户,如何限制同一用户分配给一个组

时间:2019-07-08 08:38:32

标签: php laravel authentication eloquent relationship

这是我的身体要求:

          {
"id": "1",
"group_members": [96,97]

}

这里ID 1是组ID,而group_members 96和97是用户ID,我为用户96和97分配了组ID 1,当我再次尝试分配ID为96和97的用户时,不应该为其分配应该显示一条消息,说明已经为该用户分配了该组ID

我该如何实现: 我还与你们共享了代码:

我们将非常感谢您的帮助!

                    try{

        $request->request->add(['created_by' => Auth::user()->id]);
        $groupMembers = Group::where('id', $request->get('id'))->first();
        $groupMembers->users()->attach($request->get('group_members', []));


        DB::commit();

        return response([
            'status' => true,
            'message' => 'Group members added',
        ], 200);

    } catch(\Exception $ex) {
        DB::rollback();
        return response([
            'status' => false,
            'message' => __('messages.validation_errors'),
            'errors' => $ex->getMessage(),
        ], 500);
    }

1 个答案:

答案 0 :(得分:1)

一种简单的方法是使用#firstFold { display: none; } #secondFold { display: none; } 方法,该方法将自动附加未附加的用户,并忽略已附加的用户。

syncWithoutDetaching

但是,如果您确实需要显示错误消息,则应该可以进行以下操作:

$groupMembers->users()->syncWithoutDetaching($request->get('group_members'));

建议先验证您的数据。

希望有帮助!