Tim*_*ier 4 mysql foreign-keys laravel eloquent
我知道我可以在迁移中限制删除外键数据。例子
$table->foreign('category_id')->references('id')->on('categories')->onDelete('restrict')->onUpdate('cascade');
Run Code Online (Sandbox Code Playgroud)
如果外键中存在子项,尝试删除带有eloquent的类别将导致mysql错误。
我如何以雄辩的方式捕获此错误并将其呈现给用户
我终于想出了这个
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
}
}
Run Code Online (Sandbox Code Playgroud)