【问题标题】:Reporting Error Due to Foreign Key Constraint in LaravelLaravel 外键约束报错
【发布时间】:2020-04-21 22:40:06
【问题描述】:

从表中删除一些行时,我在检查中收到以下错误

消息:SQLSTATE[23000]:完整性约束违规:1451 无法删除或更新父行:外键约束失败

我知道错误是由于失败的外键引起的。 我想显示一条错误消息,说明删除项已被使用。

我正在使用 Laravel 5.8、PHP 7.3、Mysql

有人对此有任何想法吗?

【问题讨论】:

  • 这是由于您在表上设置的主键和外键,因此不允许您从相关表中删除行。
  • 我知道为什么会出现错误。我面临的问题是报告它并向用户显示他们试图删除的项目已在其他地方使用,因此无法删除

标签: php mysql laravel error-handling foreign-keys


【解决方案1】:

您可以将删除行的代码放在try block 中,并像这样在catch block 中处理异常。

try {
  // ...

} catch (\Illuminate\Database\QueryException $e) {
    var_dump($e->errorInfo);
}

var_dump() 将提供有关异常的详细信息,然后您可以在不使脚本失败的情况下对其进行管理。

【讨论】:

    猜你喜欢
    • 2019-10-06
    • 2020-07-22
    • 2015-05-21
    • 2016-08-17
    • 2017-11-24
    • 2019-12-24
    • 2014-06-28
    • 2019-03-27
    • 1970-01-01
    相关资源
    最近更新 更多