【问题标题】:Laravel Array to string conversion error while updating database更新数据库时 Laravel 数组到字符串转换错误
【发布时间】:2020-02-06 08:11:19
【问题描述】:

我想更新 User 表中的一个 totcosty 字段,但它每次都抛出这个错误并且它没有更新该字段

这是执行的函数:

public static function cost(){
  $user = User::find($user_id);
  $total = Helper::totcost();
  // dd($tot_amt);
  $user->totcosty = $total;
  $user->save(); 
}

【问题讨论】:

  • Helper::totcost() 返回什么?
  • 什么错误?
  • 它正在将数组显示为字符串并且它没有更新表格
  • stackoverflow.com/questions/53532112/… 也许这会让你走上正确的道路?
  • Helper::cost 是一个公共类 Helper,我在其中返回要插入表中的值。

标签: laravel laravel-5


【解决方案1】:

array to string 表示您正在向数据库发送一个数组,但 db 不会接受它,您必须在将其发送到 db 之前先对数组进行explode() ... 希望对您有所帮助!

【讨论】:

    【解决方案2】:

    如果你真的想在某个表字段中存储一个数组,那么最好将它声明为 JSON 字段。为此,您的数据库应该支持 JSON 类型的列。

    See here how to do this.

    完成此操作后,您可以在该列中保存数组,您可以为模型属性分配一个数组值,laravel 将在保存时将其转换为 JSON,并且在检索时将其转换为数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-01
      • 2016-09-01
      • 2022-01-25
      • 1970-01-01
      • 2018-10-03
      • 2014-12-14
      • 2018-09-11
      • 1970-01-01
      相关资源
      最近更新 更多