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/

相关文章:

mysql - 这是MySQL条件连接吗?

python - GET curl 调用不返回 JSON 对象

json - JQ,如何根据条件算?

php - Laravel 数据库外键

mysql - 错误 1054 (42S22) : Unknown column 'marks' in 'field list'

mysql 在 ALTER TABLE 约束 : Can't create table (errno: 150) 上失败

java - 如何在JSON中强制RESTEasy输出数字作为字符串?

php - Laravel 使用 Eloquent 插入数据有两个有很多关系

php - 如何将原始查询替换为 laravel 格式

MySQL Docker 镜像 : initialized with env variable of K8S Secret