我已经在我的数据库中为一个值添加了一个外键,所以当你尝试删除具有该值的用户时,它不会允许你删除它,但是,我无法弄清楚如何通过刀片模板来管理它,我得到了laravel错误:
(2/2)QueryException SQLSTATE [23000]:完整性约束违规:1451无法删除或更新父行:外键约束失败
所以,我得到了这个,但不起作用:
if ($user->delete()) {
$request->session()->flash('success', 'User Deleted.');
return redirect()->route('admin/user.getall');
} else {
$request->session()->flash('danger', 'Unable to delete user with Value.');
return redirect()->route('admin/user.getall');
}
在这种情况下我能做什么?,我不想删除密钥,或者我不想在严格的数据库中更改为false,我接着是真的,我需要这个,还有其他方式吗?
谢谢。
答案 0 :(得分:2)
你可以做一些例外的handelling
try{
$user->delete();
}
catch (\Illuminate\Database\QueryException $e){
$request->session()->flash('danger', 'Unable to delete user with Value.');
return redirect()->route('admin/user.getall');
}
答案 1 :(得分:-1)
外键的重点是,只要有数据链接到数据库(通过外键),就无法从数据库中删除数据。因此,在删除用户之前,首先必须删除链接到该用户的所有数据。
请查看Eloquent relationships我相信Laravel可以为您分配比您目前使用更多的东西!还有tutorial