【问题标题】:updateOrCreate is not updating new created columns valuesupdateOrCreate 不更新新创建的列值
【发布时间】:2019-04-23 21:36:33
【问题描述】:

我在现有的表中添加了两个新的列(relationship 和 Guardian_no)。表已有 100 多条记录。我还有 Edit 界面,可以在其中编辑现有记录。在 edit 表单中,我也有这些 新列 的字段。现在我想使用 Edit Form 为所有 100 多条记录一一更新这些新添加的列。但是 updateOrCreate 函数只更新旧列它不更新新列。

我正在以这种方式更新新列。

  $user_detail->relationship = $request['relationship'];
  $user_detail->guardian_no = $request['guardian_no'];
  return response()->json($user_detail); 

当我在分配上述值后返回模型时。它们打印正确,值在那里,但是当我以这种方式更新模型时。

$ud= UserDetail::updateOrCreate([
          'user_id' => $user->id,
           ], $user_detail->attributesToArray());
     return response()->json($ud);

relationship 和 guardian_no 现在为空。其他值正在正确更新。我做错了还是错过了一步?

【问题讨论】:

  • 您是否将新列添加到模型 $fillable[]
  • 操作。我没有向模型中的可填充数组添加新列。谢谢你救了我的命。我花了将近 2 个小时来解决问题。
  • 接受然后:) 不用担心
  • 接受它作为有效答案其实更好,欢迎来到 Stackoverflow
  • 负面怪物被攻击,这是一个有效的问题不用担心

标签: mysql laravel


【解决方案1】:

您需要将表中的新字段添加到 $fillable 数组中。

【讨论】:

  • 爱不释手的-1
【解决方案2】:

您必须将新列添加到您可以在模型上找到的可填充数组中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-29
    • 1970-01-01
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-19
    • 2011-01-23
    相关资源
    最近更新 更多