1 回答
TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個贊
從數(shù)據(jù)庫填充結(jié)構(gòu)時,您需要傳遞一個指針,以使GORM能夠填充它。否則,它是按值傳遞的,GORM會填充副本,而您永遠(yuǎn)不會看到它。
而且,如果要獲取所有帳戶,則應(yīng)將指針傳遞給一部分帳戶。關(guān)于指針與值,切片與結(jié)構(gòu)的不同之處在于,即使在傳遞值的情況下,仍可以修改基礎(chǔ)數(shù)組,但是在函數(shù)之外,即使填充數(shù)組,切片的長度(和容量)也不會改變在函數(shù)中,因此如果沒有指針,它仍然不會表現(xiàn)出預(yù)期的效果。
然后您應(yīng)該檢查Error:
accounts := make([]models.Account, 0)
if err := c.DB.Find(&accounts).Error; err != nil {
if gorm.IsRecordNotFoundError(err) {
// handle not found
} else {
// print/log/return error
}
return
}
// do something with accounts
- 1 回答
- 0 關(guān)注
- 306 瀏覽
添加回答
舉報(bào)
