php - 如何在laravel(mysql)中将obj保存在db中

标签 php mysql arrays laravel stdclass

我正在连接 2 个变量

  1. $link1 --- 对象
  2. $mynewvalue ---- 数组
$obj_merged = (object) array_merge((array) $link1, $mynewvalue);
$settings->value = $obj_merged;

$settings->save();

错误:

Object of class stdClass could not be converted to string

我对此完全感到困惑,任何人都可以提供帮助。谢谢。

最佳答案

查看attribute casting对于模型。将 protected $casts 数组添加到您的 Setting 模型中:

class Setting extends Model
{
    protected $casts = ['value' => 'object'];

    // Class properties and methods
}

这将自动为您处理该属性的序列化和反序列化。

这还可以让您在设置值之前跳过将数组转换为对象的步骤,并在幕后转换为对象,以便您可以执行以下操作:

$settings->value = array_merge((array) $link1, $mynewvalue);

$settings->save();

关于php - 如何在laravel(mysql)中将obj保存在db中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44807126/

相关文章:

mysql - 如何在网页中显示纯文本?

javascript - 如何获取每个数组中的乘法结果

java - 在Java中合并两个数组以保持顺序并使用第一个数组的唯一空白值

javascript - 通过 Php 通过 ajax 从 MSSQL 服务器获取数据

mysql - 通过Airflow更新SQL数据库中的大量数据

mysql - SQL Query SELECT 和 Group by 条件

arrays - Node.js 有没有办法在 JSON 响应中发送数组?

javascript - 传递 PHP 下一页变量

php - 添加文章到 Jooma 时出现 500 内部服务器错误! 3.5 数据库

php - MySQL(或 PHP?)按字段数据对结果进行分组