已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。
昨天关门了。
Improve this question
我正在开发一个应用程序,它将性别作为标准化实体,并在用户实体中使用性别ID。所以user1的gender_id = 1。如何指定如果性别ID在其他地方使用,则不能删除此性别?
我试着在网上搜索,但我没有找到任何有用的东西。
public function deleteGender(Gender $gender)
{
$gender->delete();
$this->dispatchBrowserEvent('swal:toast', [
'background' => 'success',
'html' => "The gender <b><i>{$gender->gender_type}</i></b> has been deleted",
]);
}
这就是我当前的删除方法。
2条答案
按热度按时间u3r8eeie1#
在
exists
方法的帮助下检查用户中是否存在性别,bksxznpy2#
这正是关系数据库专门用来促进的事情。您不应该尝试在PHP中解决这个问题,在PHP中,除非您非常小心地在正确的时间获得正确的锁,否则几乎肯定会引入错误。
相反,您应该通过数据库中的
ON DELETE RESTRICT
(具体语法可能与您的数据库不同)约束来解决这个问题,这是 * 保证 * 数据库不会进入无效状态的唯一方法。