首页 > 解决方案 > 删除已分配给用户的航海者角色时出错

问题描述

我正在使用航海者管理面板。我正在尝试删除已分配给用户的权限角色,然后 voyager 给我一个错误:

2020-02-19 11:07:56] local.ERROR: SQLSTATE [23000]: 完整性约束违规: 1451 无法删除或更新父行: 外键约束失败 ( data_base_name. users, CONSTRAINT users_role_id_foreignFOREIGN KEY ( role_id) REFERENCES roles ( id)) (SQL:从roleswhere id= 4删除)

航海者应该向我显示一条消息,即角色无法删除其分配给用户的信息。

标签: phplaravel

解决方案


public function destroy(Request $request, $id)
{
    try {
        return parent::destroy($request, $id);
    } catch (QueryException $exception) {
        $message = $exception->getMessage();
        if (strpos($message, 'foreign key constraint') !== false) {
            $message = "This row can't be deleted";
        }

        return back()->with(['message' => $message]);
    }
}

推荐阅读