第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

返回 nil 結(jié)構(gòu)而不是空結(jié)構(gòu) go-gorm

返回 nil 結(jié)構(gòu)而不是空結(jié)構(gòu) go-gorm

Go
HUWWW 2023-04-17 15:02:04
使用以下模型:type User struct {    UUID string         `gorm:"primary_key"`    Name string         `gorm:"NOT NULL"`    CreatedAt time.Time    UpdatedAt time.Time}如果您使用 go-gorm 為不存在的用戶執(zhí)行以下查詢:var user Userdb.First(&user)您最終會(huì)收到一個(gè)填充了日期字段的空結(jié)構(gòu)。有沒有一種方法可以代替只接收一個(gè)nil結(jié)構(gòu),或者我是否以錯(cuò)誤的方式考慮這個(gè)問題?
查看完整描述

3 回答

?
MM們

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊

在 gorm 中,您應(yīng)該通過方法調(diào)用檢查記錄是否為空:

if db.First(&user, 77).RecordNotFound() {
    log.Println("UUID:", 77, err)
}


查看完整回答
反對 回復(fù) 2023-04-17
?
慕沐林林

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊

有了這個(gè)模型


type User struct {

    UUID string         `gorm:"primary_key"`

    Name string         `gorm:"NOT NULL"`

    CreatedAt time.Time

    UpdatedAt time.Time

}

你可以試試這個(gè)來獲得零指針

var user *User

db.First(&user)

否則你也可以使用它

var user User

if db.First(&user).RecordNotFound(){

  //record not found

}


查看完整回答
反對 回復(fù) 2023-04-17
?
蕪湖不蕪

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊

添加指針函數(shù)


func (user User) Pointer() *User {

    var t time.Time

    if user.UUID == "" && user.Name == "" && user.CreatedAt == t && user.UpdatedAt == t {

        return nil

    }

    return &user

}

并通過它


var user User

db.First(user.Pointer())


查看完整回答
反對 回復(fù) 2023-04-17
  • 3 回答
  • 0 關(guān)注
  • 178 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號