thinkphp6.0模型篇之JSON字段

一、数据库JSON

1、数据库写入json字段,直接通过数据的方式即可完成

$data=[
'id'	=>1,
'upass'	=>'admin',
'email'	=>'66461682@qq.com',
'list'	=>['username'=>'admin', 'gender'=>'女', 
'email'=>'66461682@qq.com'
]
Db::table('students')->json(['list'])->insert($data);

2、如果要查询数据时,正确转换json数据自读那,也需要设置json方法

Db::table('students')->json(['list'])->find(12);

3、如果将json字段李的数据作为查询条件,可以通过如下方式实现

$user=Db::table('students')->json(['list'])->
where('list->uname','admin')->find();

4、如果想完全修改json数据,可以使用如下的方式实现

$data['list']=['uname'=>'zhangsan','sex'=>'男'];
Db::table('students')->json(['list'])->where('id',2)->update($data);

5、如果只想修改json数据里的一个项目,可以使用如下的发高烧

$data['list=>uname']='李四';
Db::table('students')->json('list')->where('id',222)->update($data);

二、模型JSON

1、想要写入json字段的字符,需要设置

//模型端
protected $json=['list'];

2、使用模型方式去新增包含json数据的字段

$user = new UserModel();
$user->status = 1; 
$user->details = 123; 
$user->list = ['username'=>'菲菲', 'gender'=>'女 ','email'=>'66461682@163.com'];
$user->save();

3、通过对象的方式,进行json字段的写入操作

$list=new /stdclass();
$list->email = 'feifei@163.com'; 
$list->uid = 1011; 
$user->list = $list;

4、通过对象调用方式,直接获取json里面的数据

$user=Students::find(222);
return $user->list->uname;

5、通过json的数据查询,获取一条数据

$user=Students::where('list->uname','菲菲')->find();
return $user->list->email;

6、更新好像修改json数据,直接通过对象方式即可

$user=Students::find(222);
$user->list->uname	='菲菲';
$user->save();


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部