php - 删除已分配给用户的航海者角色时出错
问题描述
我正在使用航海者管理面板。我正在尝试删除已分配给用户的权限角色,然后 voyager 给我一个错误:
2020-02-19 11:07:56] local.ERROR: SQLSTATE [23000]: 完整性约束违规: 1451 无法删除或更新父行: 外键约束失败 (
data_base_name
.users
, CONSTRAINTusers_role_id_foreign
FOREIGN KEY (role_id
) REFERENCESroles
(id
)) (SQL:从roles
whereid
= 4删除)
航海者应该向我显示一条消息,即角色无法删除其分配给用户的信息。
解决方案
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]);
}
}
推荐阅读
- amazon-cognito - 仅用于多租户 SaaS 的身份和身份验证的 Cognito
- django - 使用 storages.backends.s3boto.S3BotoStorage 将标签添加到 s3 对象
- visual-studio - 错误:此模板试图加载组件程序集 'Microsoft.VisualStudio.Universal.TemplateWizards, Version=15.0.0.0
- python - (Django) DetailView 模板不显示信息
- entity-framework - 如何在 EF TPH Code First 中阻止创建冗余 FK 约束
- google-cloud-platform - 从本地机器访问 GCP Memorystore
- javascript - 使用 Immutable.js 从 memoized 选择器返回纯 JS 对象
- php - 为什么我的每个页面的特色图片没有显示在我的菜单中
- node.js - 如何使用 MacOS 在 package.json 上调用多个命令
- c++ - 向现有项目添加更多平台