JSON字段类型在ORM中的使用是怎么样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
JSON字段类型在ORM中的使用
ThinkPHP5.1版本正式发布已经有一段时间了,我会陆续给大家介绍其中的新特性。今天要给大家介绍的是一个可能很多用户还不了解的一个特性:JSON字段数据支持。
不过首先注意一点,本篇内容中描述的JSON字段数据的支持是从V5.1.4+版本引入的。由于包含安全更新的原因,建议确保使用5.1.9+版本。
本篇中对JSON字段的定义包括JSON类型或者保存的数据为JSON格式的字符类型,所以理论上除了使用JSON字段条件查询外,对数据库类型和版本没有要求。
Db类操作JSON
如果你没有使用模型类,Db类提供了一个json方法可以指定你的数据表JSON格式字段。例如你的user表有一个info字段是JSON类型的,你可以使用下面的方式操作数据。
数据写入
$user['name']='thinkphp';
$user['info']=[
'email'=>'thinkphp qq.com',
'nickname'=>'流年',
];
Db::name('user')
->json(['info'])
->insert($user);
json方法的参数是一个数组,示例中指定了info字段,其实可以指定多个JSON类型字段。
数据查询
查询整个JSON数据使用。
$user=Db::name('user')
->json(['info'])
->find(1);
dump($user);
返回的查询结果数据中,会自动包含一个数组类型的info数据,也就是说JSON格式数据已经自动json_decode处理。
该方式查询对info字段并非严格要求使用JSON类型
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。