为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 gorm 中使用自定义预加载

如何在 gorm 中使用自定义预加载

Go
慕侠2389804 2022-09-19 15:01:49
我有这两个结构type User struct {  gorm.Model  Name      string  CompanyID int  Company   Company}type Company struct {  gorm.Model  Name string  Adress string}我想获得用户并预加载他们的公司,但我不想得到地址字段,我尝试了自定义预加载,如波纹管,并在postman中进行了测试。查询返回了所有字段,但对于地址,我得到一个空字符串,发生这种情况的原因是,当将结果存储在用户结构中时,golang会自动初始化所有字段,并且字段地址将返回其初始值,这是一个空的刺var user []User     db.Table("users").Preload("Company",func(db *gorm.DB) *gorm.DB {        return db.Select("ID" ,"Name")    }).Find(&user)我该怎么办,只有名称和ID,而不是地址
查看完整描述

1 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

如果您的服务器将结果导出为 json,则可以添加 json 标记 omitempty,如下所示:


type Company struct {

    gorm.Model

    Name string

    Adress string `json:"omitempty"`

}

这样,如果地址字段为空字符串,则不会包含该字段。


查看完整回答
反对 回复 2022-09-19
  • 1 回答
  • 0 关注
  • 100 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信