gorm 查询 if err := global.GVA_DB.Debug().Find(&articles).Where(“id=?“, id).Error;

1: 没有where 的条件:

	if err := global.GVA_DB.Debug().Find(&articles).Where("id=?", id).Error; err != nil {
		response.Fail(c)
		return
	}

	response.OkWithDetailed(articles, "获取数据成功2", c)
	return 

// 打印的sql:
SELECT * FROM `sys_articles` WHERE `sys_articles`.`deleted_at` IS NULL

  没有where 

2:

if err := global.GVA_DB.Debug().Where("id = ?", id).Find(&articles).Error; err != nil {
    response.Fail(c)
    return
}

response.OkWithDetailed(articles, "获取数据成功2", c)
return

3:先使用where 在使用find 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
type ExaReport struct { global.GVA_MODEL TableNames string `json:"tableNames" form:"tableNames" gorm:"comment:报表类型"` // 报表类型 Plate string `json:"plate" form:"plate" gorm:"comment:所属板块"` // 所属板块 StartTime *time.Time `json:"startTime" form:"startTime" gorm:"comment:数据最早时间"` // 数据最早时间 EndTime *time.Time `json:"endTime" form:"endTime" gorm:"comment:数据最晚时间"` // 数据最晚时间 UpdateAt *time.Time `json:"updateAt" form:"updateAt" gorm:"comment:数据更新时间"` UpdateOpinion string `json:"updateOpinion" form:"updateOpinion" gorm:"comment:更新详细意见"` StateCode string `json:"stateCode" form:"stateCode" gorm:"comment:解析状态"` SysUserID uint `json:"sysUserId" form:"sysUserId" gorm:"comment:管理ID"` // 管理ID SysUserAuthorityID uint `json:"sysUserAuthorityID" form:"sysUserAuthorityID" gorm:"comment:管理角色ID"` // 管理角色ID SysUser system.SysUser `json:"sysUser" form:"sysUser" gorm:"comment:管理详情"` // 管理详情 } func (exa *ReportService) DeleteReport(e example.ExaReport) (err error) { // 删除对应的用户意见数据 var tableName string err = global.GVA_DB.Model(&example.ExaReport{}).Where("id = ?", e.ID).Pluck("table_names", &tableName).Error if err != nil { return err } err = global.GVA_DB.Where("data_source = ?", tableName).Delete(&example.ExaUserOpinion{}).Error if err != nil { return err } // 删除报表数据 err = global.GVA_DB.Delete(&e).Error if err != nil { return err } return nil } 先判断plate=用户意见板块或者质量测试板块 当plate=用户意见板块时,在表&example.ExaUserOpinion{}内删除data_source = tableName的数据, 当plate=质量测试板块时,在表&example.ExaUserOpinion{}内删除data_source = tableName的数据请帮我修改代码
07-22
帮我写代码中文注释,并把写好注释的代码给我 package model import ( "database/sql/driver" "errors" "fmt" "math" "demo1/service/field/internal/pg" "encoding/json" "gorm.io/gorm" "gorm.io/gorm/schema" ) type Field struct { gorm.Model Uid uint gorm:"column:uid" json:"uid" Data JSONB gorm:"column:data" json:"data" } type JSONB json.RawMessage func (JSONB) GormDataType() string { return "jsonb" } func (JSONB) GormDBDataType(db *gorm.DB, field *schema.Field) string { switch db.Dialector.Name() { case "mysql": return "JSON" case "postgres": return "JSONB" } return "" } func (j JSONB) Value() (driver.Value, error) { if len(j) == 0 { return nil, nil } return string(j), nil } func (j *JSONB) Scan(value interface{}) error { if value == nil { *j = JSONB("null") return nil } var bytes []byte switch v := value.(type) { case []byte: if len(v) > 0 { bytes = make([]byte, len(v)) copy(bytes, v) } case string: bytes = []byte(v) default: return errors.New(fmt.Sprint("Failed to unmarshal JSONB value:", value)) } result := json.RawMessage(bytes) *j = JSONB(result) return nil } func AddField(f *Field) error { if len(f.Data) == 0 { return errors.New("data is nil") } if err := checkUid(f.Uid); err != nil { return err } return pg.Client.Create(&f).Error } func Fields() ([]*Field, error) { fs := make([]*Field, 0) err := pg.Client.Find(&fs).Error return fs, err } func FieldsUid(uid uint) ([]*Field, error) { if err := checkUid(uid); err != nil { return nil, err } fs := make([]*Field, 0) err := pg.Client.Find(&fs, "uid = ?", uid).Error return fs, err } func FieldsLabel(label string) ([]*Field, error) { if err := checkLabel(label); err != nil { return nil, err } fs := make([]*Field, 0) err := pg.Client.Raw("select * from fields where data -> '__config__' ->> 'label' = ?; ", label).Scan(&fs).Error if err != nil { return nil, err } return fs, nil } func UpdateField(f *Field) error { if err := checkUid(f.Uid); err != nil { return err } newF := new(Field) if err := pg.Client.First(newF, "uid = ?", f.Uid).Error; err != nil { return errors.New("uid Data dont exist") } newF.Data = f.Data return pg.Client.Save(newF).Error } func DeleteField(f *Field) error { if err := checkUid(f.Uid); err != nil { return err } return pg.Client.Delete(f, "uid = ?", f.Uid).Error } func checkUid(uid uint) error { if uid < 0 || uid > math.MaxUint32 { return errors.New("uid dont conform to the rules") } return nil } func checkLabel(la string) error { if la == "" { return errors.New("label cant be nil") } return nil }
07-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值