go - reflect.Value.Set 使用无法寻址的值

标签 go go-gorm

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)
})

这是使用 slice 从表中获取和显示用户的代码,结果是来自 gorm 的错误

reflect.Value.Set using unaddressable value

最佳答案

您必须使用指向 slice 的指针调用 Find。

err := db.Find(&users).Error

相关的 Gorm 文档:http://jinzhu.me/gorm/crud.html#query

关于go - reflect.Value.Set 使用无法寻址的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45809746/

相关文章:

rest - 如何在 Go 中编写通用处理程序?

parsing - 从 Go 中的多行输出中提取日期

django - GORM 的 FirstOrCreate() 方法(或 Django 的 get_or_create)如何确保只创建一行?

戈尔姆 |如何使用扫描和预加载

database - Gorm协会多对多

map - Go maps内部使用什么数据结构?

loops - 在 GO 模板中使用 range over struct

http - 如何将 ServeMux 与 ServerConn 一起使用?

go - 为什么 created_at,update_at 与我本地时间 gorm golang 不一样?

go - 是否需要指定列名?