【问题标题】:Can't update the record because foreing keys由于外键无法更新记录
【发布时间】:2018-06-06 07:38:48
【问题描述】:

我无法更新(不删除)记录,因为辅助表中的外键不允许我这样做。

我知道我可以禁用外键,但如果我只是更新“客户”表,它对辅助表没有任何 FK,我认为这不是一个好的做法。

这个问题有什么解决办法吗?

我的数据库架构

辅助表FK之一

我得到的错误

这是我用来执行此操作的代码

  $customer = Customer::where('id', $id)->update($data);
  if($customer)
      return redirect('/customers/);

【问题讨论】:

  • 添加更新查询或收到此错误时使用的代码。
  • 添加了我正在使用的当前代码,如果我禁用了我不想要的外键,那么它就可以工作
  • 您应该成功使用删除。但不能更新,因为级联方法。更改更新,无级联。可能工作。
  • 您是否正在尝试更新客户的 ID?你在$data 有什么?
  • 就是这样!我从数组中取消设置 id 字段并且它正在工作!非常感谢 TheFallen

标签: laravel eloquent foreign-keys schema updating


【解决方案1】:

感谢#TheFallen 帮助我。

在数组中我包含了自己记录的 ID,所以我从数组中取出它,更新顺序正在使用活动的外键。

【讨论】:

    猜你喜欢
    • 2018-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多