【发布时间】:2020-02-21 12:02:59
【问题描述】:
我正在使用 voyager 管理面板。 我正在尝试删除已分配给用户的权限角色,然后 voyager 给我一个错误:
2020-02-19 11:07:56] local.ERROR: SQLSTATE[23000]: 完整性 违反约束:1451 无法删除或更新父行:a 外键约束失败 (
data_base_name.users, CONSTRAINTusers_role_id_foreign外键 (role_id) 引用roles(id)) (SQL: 从roles中删除id= 4)
voyager 应该向我显示角色无法删除其分配给用户的消息。
【问题讨论】:
-
我不明白这个问题:你期望一个错误,这就是你得到的。有什么问题?
-
错误信息不是说的很清楚吗?它表示不能删除角色,因为这会违反用户表上的约束? users表上的role_id字段可能不能为空?因此无法删除该角色,因为它需要将该字段设置为 null,或者需要删除所有具有 role_id=4 的用户(我也不是您想要的)
-
@mtholen 所以这是迁移问题,我们应该需要从迁移中删除删除级联?
-
@shazimali 我无法就此提供建议,因为我没有足够的信息来判断您是否应该删除级联。那不是问题吗?返回一条错误消息,正确识别问题,由您决定如何处理该消息?