g.GET("/", func(c echo.Context) error {
var users []models.User
err := db.Find(users).Error
if err != nil {
fmt.Println(err)
}
return c.JSON(http.StatusOK, users)
})
这是使用切片从表中获取和显示用户的代码,导致gorm
出现以下错误reflect.Value.Set使用无法寻址的值
答案 0 :(得分:13)
答案 1 :(得分:3)
只是为S.Diego答案添加澄清,改变这个:
err := db.Find(users).Error
到此:
err := db.Find(&users).Error
错误说,变量用户不可寻址,因为它不是指针。
答案 2 :(得分:3)
以与已接受的答案非常相似的方式(但是在稍微不同的上下文中),以及我在不同项目中不断犯的错误:
func migrate(db *gorm.DB) {
db.AutoMigrate(User{}, Activity{})
}
成为
func migrate(db *gorm.DB) {
db.AutoMigrate(&User{}, &Activity{})
}
请注意“&”号。