首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法预加载clause.Associations

无法预加载clause.Associations
EN

Stack Overflow用户
提问于 2020-10-14 04:04:29
回答 1查看 244关注 0票数 0

我正在结合使用GORM和Fiber。在查询所有预加载了clause.Associations的用户时,我得到以下错误:

代码语言:javascript
复制
can't preload field @@@as@@@ for entities.User

那是什么意思?没有clause.Associationspreload,它可以正常工作,但它不会显示出一对一的关联。

代码语言:javascript
复制
func UsersGetAll(c *fiber.Ctx) error {
    db := database.DBConn
    users := []entities.User{}
    records := db.Preload(clause.Associations).Find(&users)
    if records.Error != nil {
        log.Println(records.Error)
        return c.Status(500).SendString(records.Error.Error())
    }

    return c.JSON(records.Value)
}
EN

回答 1

Stack Overflow用户

发布于 2021-07-29 00:21:03

看起来gorm标签有个问题:我假设结构是这样的:

代码语言:javascript
复制
type Address struct {
ID int `gorm:"column:id;primaryKey"`
}
type User struct {
Name string `gorm:"column:name"`
Age string `gorm:"column:age"`
Address Address `gorm:"references:ID"`
}

和代码:

代码语言:javascript
复制
user:=User{}
if err:=db.Preload("Address").Find(&user).Error {
panic(err)
}

我认为你也应该看看这个:Gorm relationship error: need to define a valid foreign key for relations or it need to implement the Valuer/Scanner interface

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64342411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档