Loading

go-Gorm

  • 更新:Save与Updates
    由文档可知,Save是更新全部列、Update是更新单列、Updates是更新多列
    当需要更新全部列时,Save比Updates快得多

  • 查询
    如下代码的字段值是写死的魔法值:

db.Where("pod_name = ? AND cluster = ? AND app_code = ? AND is_delete = 0", p.PodName, p.Cluster, p.AppCode).Find(&res)

用链式结构判断非空:

if im.PodName != "" {
		db.Where("pod_name = ?", im.PodName)
}
// ...

可以改成如下使用结构体的形式,其中的0值会自动被忽略掉。若有想要0值的条件,必须再自己添加Where("is_delete=0")

db.Where(&InformerPodMiddle{InformerPod{
	PodName: im.PodName,
	Cluster: im.Cluster,
	AppCode: im.AppCode,
	IpRule:  im.PodIp,
	// IsDelete:	0,
}}).Where("is_delete = 0").Find(&res2)
```~
posted @ 2022-10-19 17:41  ljs9  阅读(180)  评论(0)    收藏  举报