优秀的编程知识分享平台

网站首页 > 技术文章 正文

PHP如何修改数据库中JSON字段内容

nanyue 2024-11-11 12:27:06 技术文章 1 ℃

软件开发中经常需要在数据库中存储JSON格式的数据,直接存储是非常方便的,mysql5.7以后支持JSON字段的存储,我使用的是thinkphp6来作为开发框架,以下简称tp6,对于操作一维json很简单,官方是有案例的,操作方法如下:


更新JSON数据

$user = User::find(1);
$user->name = 'kancloud';
$user->info->email = 'kancloud@qq.com';
$user->info->nickname = 'kancloud';
$user->save();

如果设置模型的JSON数据返回数组,那么更新操作需要调整如下。

$user = User::find(1);
$user->name = 'kancloud';
$info['email'] = 'kancloud@qq.com';
$info['nickname'] = 'kancloud';
$user->info = $info;
$user->save();

但是往往,我们会保存二维数组到字段中,官方并没有提供具体的参考,来如何更新json中的内容

例如json字段中存储的

[{"name":'kancloud',"email":"kancloud@qq.com","nickname":"kancloud"},{"name":'kancloud1',"email":"kancloud1@qq.com","nickname":"kancloud1"}]

我们想要修改这种格式的内容,我是这样操作的,通过for循环,if定位要操作的字段,修改然后形成新的json数据,并更新到数据库中,大致操作如下


其实还是很简单的,通过if就可以快速定位到修改的字段,生成新的json数据,然后更新到字段中就可以了。

最近发表
标签列表