当前位置: 首页 > news >正文

芜湖网站WordPress设置模块间距

芜湖网站,WordPress设置模块间距,网络热词,用cms做的网站 的步骤目录 具体操作 1,查询JSON段落指定key的值是否有等于value的 或 指定keyvalue的数据记录 2,查询JSON段落中price>19的记录 3,查询JSON段中key为k0的记录 4、JSON段落中提取指定键值对到指定结构 5,查询JSON数组是否包含…

目录

具体操作

1,查询JSON段落指定key的值是否有等于value的 或 指定key=value的数据记录

2,查询JSON段落中price>19的记录

3,查询JSON段中key为k0的记录

4、JSON段落中提取指定键值对到指定结构 

5,查询JSON数组是否包含某元素

6,修改JSON段中指定key的值

相关结构体及基础数据


具体操作

1,查询JSON段落指定key的值是否有等于value的 或 指定key=value的数据记录

查询ids列中k1=val1的记录

var demo1 []Demo
err = conn.Model(&Demo{}).Where("ids->>'$.k1' = ?", "val1").Find(&demo1).Error 

查询books列中price=19.1的记录

var demo1 []Demo
err = conn.Model(&Demo{}).Where("JSON_EXTRACT(`books`,'$.price')=?", 19.1).Find(&demo1).Error

2,查询JSON段落中price>19的记录

var demo1 []Demo
err = conn.Model(&Demo{}).Where("books->'$.price' > 19 ").Find(&demo1).Error

等价于:

SELECT * FROM `demos` WHERE  books->>'$.price' >= 19;

3,查询JSON段中key为k0的记录

var demo1 []Demo
err = conn.Model(&Demo{}).Where("JSON_EXTRACT(ids, '$.k0')").Find(&demo1).Error

4、JSON段落中提取指定键值对到指定结构 

var demo2 []Book
err = conn.Model(&Demo{}).Select("books->>'$.name' AS name").Find(&demo2).Error
// 注意:在非数组的JSON中可正常获取,若是数组型JSON则拿不到数据都是零值。

提取多个键值对(多个字段):

err = conn.Model(&Demo{}).Select("books->>'$.name' AS name", "books->>'$.price' AS price").Find(&demo2).Error

5,查询JSON数组是否包含某元素

查询ids列的JSON数组中包含a0的记录

var demo1 []Demo
err = conn.Model(&Demo{}).Where("JSON_CONTAINS(ids, JSON_ARRAY(?))", "a0").Find(&demo1).Error

等价于

SELECT * FROM `demos` WHERE JSON_CONTAINS(`ids`, JSON_ARRAY('a0') ) AND `demos`.`deleted_at` IS null;

6,修改JSON段中指定key的值

将id=1的ids列中key为k0的值修改为v00

err = conn.Model(&Demo{}).Where("id=?", 1).Update("ids", gorm.Expr("JSON_REPLACE(ids, '$.k0', ?)", "v00")).Error // JSON_SET也可

值得注意的是,这种修改操作不能作用于JSON数组中元素的修改,JSON数组中元素的修改需要用到'$[0].k0',即表示数组第一个位置的元素的k0的值。

相关结构体及基础数据

type Demo struct {entity.ModelIDs   string `json:"ids"  gorm:"column:ids; type:JSON;"`Books string `json:"books"  gorm:"column:books; type:JSON;"`
}type Book struct {Name  string  `json:"name" gorm:"column:name;type:varchar(20); not null;"`Price float64 `json:"price" gorm:"column:price;type:decimal(10,2); not null; default:0.00;"`
}demos := []Demo{Demo{IDs:   "{\"k0\":\"val0\"}",Books: "{\"name\":\"西游记\",\"price\": 19.0}",},Demo{IDs:   "{\"k1\":\"val1\",\"k0\":\"val2\"}",Books: "{\"name\":\"三国演义\",\"price\": 19.1}",},Demo{IDs:   `["a0","a1","a2"]`,Books: "[{\"name\":\"西游记\",\"price\": 19.0},{\"name\":\"三国演义\",\"price\": 19.1}]",},}err = conn.Create(demos).Error

http://www.yayakq.cn/news/103683/

相关文章:

  • h5商城网站建站简洁好看的网站
  • 网站前期准备温州专业手机网站制作多少钱
  • 手机电影网站源码模板做淘宝客网站流量选择
  • 太原网站建厦门seo外包
  • 官网网站备案流程天津建设信息工程
  • 网站建设好之后都有哪些推广方法重庆造价协会官网
  • 给公司做网站基层建设 网站
  • 深圳企业网站哪家强陕西省住房城乡建设厅网站管理中心
  • 南宁网站建设电话免费网络软件
  • 怎么看公司网站是哪里做的wordpress 仿站 主题
  • 小程序导航网站开发wordpress 新建php页面模板
  • 为什么做美食视频网站旅游网站开发的背景及意义
  • 镇江网站建设镇江电商网站的设计与实现视频教程
  • 人力资源网站怎么做公司宣传片拍摄脚本
  • 甘肃新站优化wordpress主页空白
  • 烟台广告公司南网站建设评价正规企业网站开发使用方法
  • 专业的昆明网站建设wordpress备案号代码
  • 免费建站平台排名托管是什么意思
  • 南京网站建设济源新站seo关键词排名推广
  • 铜川免费做网站室内装修效果图网站有哪些
  • 深圳怎么建设网站亿玫网站建设
  • 爱站网关键词搜索工具企业网站建设专业精准乙 鸣远科技
  • 网站seo李守洪排名大师专业建站推广企业
  • 长沙网站seo哪家公司好珠海网站网站建设
  • 珠海网站建设那家好渠道网络大厦
  • 网站加一个会员登陆怎么做360打不开建设银行的网站
  • php做的网站首页是什么文件深圳食品网站建设
  • 图表生成网站网站建设公司的成本有哪些方面
  • 做网站怎么配电脑新乡百度网站推广工具
  • 建设银行的财务网站基于无网站网络营销的问题