gpt4 book ai didi

go - "Has many"关系给出空结果

转载 作者:数据小太阳 更新时间:2023-10-29 03:28:01 24 4
gpt4 key购买 nike

我正在尝试定义与 gorm ORM 的一对多关系。我一遍又一遍地阅读所有文档。无法找到执行此操作的方法。

func GetUser1(c *gin.Context) {
var user models.User
var activities models.UserActivity
query := DB.Debug().Find(&user, 1).Model(&user).Related(&activities).Error
if query != nil {
panic(query)
}
c.JSON(200, &user)
}

我的模型是..

type User struct {
Id int64
Username string
Password string `json:"-"`
Email string `json:",omitempty"`
UserActivities []UserActivity
}
type UserActivity struct {
Id int64
UserId int64 `json:"-"`
ActorId int64
CreatedAt time.Time
}

调试结果为

[2015-11-21 22:21:54]  [3.17ms]  SELECT  * FROM `users`  WHERE (`id` = '1')
[2015-11-21 22:21:54] [1.39ms] SELECT * FROM `user_activities` WHERE (`user_id` = '1')

但是我得到的结果是空的

{
"Id": 1,
"Username": "test1",
"Email": "test1@friesen.com",
"UserActivities": null
}

所有的主键和索引都是正确的。我还在 UserActivities 中尝试了 puttin gorm:"primary_key"sql:"index" 到目前为止没有运气。 但是,如果我将 UserActivities []UserActivity 替换为 UserActivities UserActivity 那么我只会得到一行,这似乎是正确的,但为什么 UserActivities []UserActivity 给出没有结果

最佳答案

使用内置在模型 gorm.Model 中的 gorm,这样你就不会弄乱“ID”常量

关于go - "Has many"关系给出空结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33845949/

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