mysql - updateOrCreate 不更新新创建的列值

标签 mysql laravel

我向现有的 添加了两个新的(relationship 和guardian_no)。表格已经有 100 多条记录。我还有编辑界面,我可以在其中编辑现有记录。在编辑 表单中,我还有这些新列 的字段。现在我想使用 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);

relationshipguardian_no 现在为空。其他值正在正确更新。我是做错了还是漏掉了一步?

最佳答案

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

关于mysql - updateOrCreate 不更新新创建的列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53409997/

相关文章:

c# - 表中最后一条记录的ID

mysql - 按时间定义的存储过程

laravel - 如何在laravel Eloquent 查询中获取前10个类别列表

ios - Dropzone 在 iOS 11 上失败

Laravel Netshel/Paypal 突然不能用,字符串转换错误

php - 连接 3 个表时无法查看结果

php - 如何在 phpmyadmin 中重新启动自动增量?

mysql - Zend_Db : How to get the number of rows from a table?

laravel - 给分页添加参数

php - Laravel <br> 到换行符