gpt4 book ai didi

go - 具有关联的负载模型

转载 作者:行者123 更新时间:2023-12-03 10:10:39 24 4
gpt4 key购买 nike

我想加载该帖子,并且是作者ID和电子邮件,而不加载其他任何内容。
不需要急于加载,我只需要获取所有帖子并仅包含作者ID和用户名即可
我目前的查询

posts := []interfaces.Post{}
db.Model("User").Find(&posts)
type Post struct{
gorm.Model
Title string
Body string
UserID uint
User User
}

type User struct{
gorm.Model
Username string
Email string
Password string
}
当前 react
        {
"ID": 1,
"CreatedAt": "2021-01-09T19:11:42.063274-05:00",
"UpdatedAt": "2021-01-09T19:11:42.063274-05:00",
"DeletedAt": null,
"Title": "What does the fox say",
"Body": "whawhhwjg",
"UserID": 1,
"User": {
"ID": 1,
"CreatedAt": "2021-01-09T19:01:28.70267-05:00",
"UpdatedAt": "2021-01-09T19:01:28.70267-05:00",
"DeletedAt": null,
"Username": "12345",
"Email": "1112@gmail.com",
"Password": "$2a$04$T1841Dc52MwjSJ2PaPnTwuFASai6zkGw8WFcuQbO1fi9Nug7R3Iqq"
}
},
响应我在寻找
 {
"ID": 1,
"CreatedAt": "2021-01-09T19:11:42.063274-05:00",
"UpdatedAt": "2021-01-09T19:11:42.063274-05:00",
"DeletedAt": null,
"Title": "What does the fox say",
"Body": "whawhhwjg",
"UserID": 1,
"User": {
"ID": 1,
"Username": "12345",
}
},

最佳答案

您可以使用Select方法来选择特定字段。

dm.Model("User").Select("ID", "Email", "Username").Find(&posts)
或者,您可以像这样使用 Preload方法。
db.Preload("User", func (db *gorm.DB) *gorm.DB {
return db.Select("ID", "Email", "Username")
}).
Find(&posts)

关于go - 具有关联的负载模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65650366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com