updateOrCreate不会更新新创建的列值

时间:2018-11-21 10:26:09

标签: mysql laravel

我在现有的中添加了两个新的(relationship和guardian_no)。表格已经有 100多个记录。我还具有编辑界面,可以在其中编辑现有记录。在 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);

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:-1)

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