我有這兩個結(jié)構(gòu)type User struct { gorm.Model Name string CompanyID int Company Company}type Company struct { gorm.Model Name string Adress string}我想獲得用戶并預(yù)加載他們的公司,但我不想得到地址字段,我嘗試了自定義預(yù)加載,如波紋管,并在postman中進行了測試。查詢返回了所有字段,但對于地址,我得到一個空字符串,發(fā)生這種情況的原因是,當(dāng)將結(jié)果存儲在用戶結(jié)構(gòu)中時,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函數(shù)
TA貢獻1836條經(jīng)驗 獲得超4個贊
如果您的服務(wù)器將結(jié)果導(dǎo)出為 json,則可以添加 json 標(biāo)記 omitempty,如下所示:
type Company struct {
gorm.Model
Name string
Adress string `json:"omitempty"`
}
這樣,如果地址字段為空字符串,則不會包含該字段。
- 1 回答
- 0 關(guān)注
- 114 瀏覽
添加回答
舉報
0/150
提交
取消