gpt4 book ai didi

mysql - Eloquent - 如果外键有行,则防止删除数据 - Laravel

转载 作者:行者123 更新时间:2023-11-28 23:38:20 24 4
gpt4 key购买 nike

我知道我可以在迁移中限制删除外键数据。示例

$table->foreign('category_id')->references('id')->on('categories')->onDelete('restrict')->onUpdate('cascade');

如果外键中的子项存在,则尝试使用 eloquent 删除类别将导致 mysql 错误。

我如何以 Eloquent 方式捕获此错误并将其呈现给用户

最佳答案

我终于想到了这个

try {
$category->delete();
}
catch (\Illuminate\Database\QueryException $e) {

if($e->getCode() == "23000"){ //23000 is sql code for integrity constraint violation
// return error to user here
}
}

关于mysql - Eloquent - 如果外键有行,则防止删除数据 - Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35148816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com