tp笔记


21.JSON 字段

<pre><code class="language-php">一.数据库 JSON 1. 数据库写入 JSON 字段,直接通过数组的方式即可完成; $data = [ 'username'=&gt;'辉夜', 'password'=&gt;'123', 'gender'=&gt;'女', 'email' =&gt;'huiye@163.com', 'price' =&gt;90, 'details'=&gt;'123', 'uid'=&gt;1011, 'status'=&gt;1, 'list'=&gt;['username'=&gt;'辉夜','gender'=&gt;'女', 'email' =&gt; 'huiye@163.com' ], ]; Db::name('user')-&gt;insert($data); 2.从上面写入可以看出,list 字段设置的就是 json,通过数组写入的就是 json; 3.但是,如果我要写入 details 这个 text 文本格式的字段,通过数组会报错; 4.这个时候,采用-&gt;json(['details'])方法来进行转换,也可以写入 json 数据; 'details'=&gt;['content'=&gt;123], Db::name('user')-&gt;json(['details']) -&gt;insert($data); 5.在查询上,也可以使用-&gt;json(['list,details'])方法来获取数据; $user=Db::name('user')-&gt;json(['list','details']) -&gt;where('id',173) -&gt;find(); returnjson($user); 6.如果要将 json 字段里的数据作为查询条件,可以通过如下方式实现: $user=Db::name('user')-&gt;json(['list','details'])-&gt; where( 'list-&gt;username','辉夜')-&gt;find(); 7.如果想完全修改 json 数据,可以使用如下的方式实现: $data['list']=['username'=&gt;'李白','gender'=&gt;'男']; Db::name('user')-&gt;json(['list']) -&gt;where('id',174)-&gt;update($data); 8.如果只想修改 json 数据里的某一个项目,可以使用如下的方式实现: $data['list-&gt;username']='李黑'; Db::name('user')-&gt;json(['list']) -&gt;where('id',174)-&gt;update($data); 二.模型 JSON 1. 使用模型方式去新增包含 json 数据的字段; $user = new UserModel(); $user-&gt;username = '李白'; $user-&gt;password = '123'; $user-&gt;gender = '男'; $user-&gt;email = 'libai@163.com'; $user-&gt;price = 100; $user-&gt;uid = 1011; $user-&gt;status = 1; $user-&gt;details = ['content'=&gt;123]; $user-&gt;list = ['username'=&gt;'辉夜', 'gender'=&gt;'女 ','email'=&gt;'huiye@163.com','uid'=&gt;1011]; $user-&gt;save(); 2.对于本身不是 json 字段,想要写入 json 字段的字符字段,需要设置; protected$json=['details','list']; 3.也可以通过对象的方式,进行对 json 字段的写入操作; $list = new \StdClass(); $list-&gt;username = '辉夜'; $list-&gt;gender = '女'; $list-&gt;email = 'huiye@163.com'; $list-&gt;uid = 1011; $user-&gt;list = $list; 4.通过对象调用方式,直接获取 json 里面的数据; $user=UserModel::get(179); return$user-&gt;list-&gt;username; 5.通过 json 的数据查询,获取一条数据; $user = UserModel::where('list-&gt;username', '辉夜')-&gt;find(); return $user-&gt;list-&gt;email; 6.更新修改 json 数据,直接通过对象方式即可; $user=UserModel::get(179); $user-&gt;list-&gt;username='李白'; $user-&gt;save(); </code></pre>

页面列表

ITEM_HTML