亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

未找到實體,并且錯誤仍為零

未找到實體,并且錯誤仍為零

Go
素胚勾勒不出你 2022-08-24 10:46:14
我正在嘗試通過令牌選擇實體。var event models.Eventerr := p.db.Preload("Groups.Participants").Find(&event, "token = ?", token).Errorreturn event, err但是如果我通過一個空的,例如?!啊被蚱渌淮嬖诘牧钆啤N覜]有收到錯誤,我只是得到一個未填充的事件。我可以檢查 event.ID== 0,但我覺得這有點奇怪。我有點驚訝,即使沒有找到實體,它仍然是零。tokenerr我做錯了什么嗎?有沒有更好的方法來處理上述問題?
查看完整描述

1 回答

?
手掌心

TA貢獻1942條經驗 獲得超3個贊

Find如果未找到任何記錄,則不會導致錯誤。這在關于單個對象檢索的文檔中作為旁注提到:

如果要避免錯誤,可以使用 like ,該方法同時接受結構和切片數據ErrRecordNotFoundFinddb.Limit(1).Find(&user)Find

如果必須使用,則必須自己檢查無記錄,方法是在使用它檢索單個對象時檢查零值,或者在使用它檢索多個對象時檢查切片長度與零。但是,如果您只檢索單個對象,那么我建議您使用該鏈接中記錄的方法之一,即 ,或 ,如文檔所示,當找不到滿足查詢的記錄時,這些方法確實會導致錯誤。FindFirstTakeLastErrRecordNotFound


查看完整回答
反對 回復 2022-08-24
  • 1 回答
  • 0 關注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號