mysql - 更新 Eloquent 模型的 JSON 字段

标签 mysql json laravel model eloquent

所以,我的数据库中有一个 JSON 字段。当我在我的模型对象上访问它时,我得到一个字符串,所以我必须自己解码它。是否可以像访问对象一样访问它?我可以定义一个访问器,但在那种情况下我将无法更改它。

最佳答案

您可以使用 Attribute Casting .

假设在您的用户模型中您有一个 Json 类型的 options 属性,那么您可以在用户模型中添加:

protected $casts = [
    'options' => 'array',
];

如果你想编辑这个字段,你可以这样做:

$user = App\User::find(1);

$options = $user->options;

$options['key'] = 'value';

$user->options = $options;

$user->save();

关于mysql - 更新 Eloquent 模型的 JSON 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40216938/

相关文章:

Laravel Paypal 删除包但错误仍然存​​在

mysql - 讲师有2个教学科目

php - JavaScript 返回 "is not a function"错误,但该方法在 Firebug 的响应中列出

javascript - 我正在尝试按 json 内的 json 键对变量进行排序

php - 如何检测模型事件中的强制删除

php - Laravel 使用等于运算符查询 MySQL JSON 列

干净的系统重新启动后 mySQL InnoDB 表损坏

php - 基于不同键的回显数组

php - MySQLi 循环查询变量

php - 使用 PHP 创建基于已解码的 JSON 的文件夹/文件结构