Postgresql 插入后无法检索任何关系表

Postgresql 插入后无法检索任何关系表,postgresql,go,gorm,Postgresql,Go,Gorm,我正在将gorm与Golang一起使用,我的表格如下所示。我在检索关系表时遇到问题,例如,当我插入一个新用户时,所有内容都会按下面的日志所示插入,但一旦我尝试检索该用户,则所有应该是外部表字段的字段都是nil或[]。从我在数据库中看到的情况来看,这些表的值被插入,并且实际上创建了外键,那么问题出在哪里呢 型号: 类型用户结构{ ID字符串`json:“ID”gorm:“primaryKey”` 时间,时间 时间到了,时间到了 DeletedAt gorm.DeletedAt`gorm:“索引”`

我正在将
gorm
Golang
一起使用,我的表格如下所示。我在检索关系表时遇到问题,例如,当我插入一个新用户时,所有内容都会按下面的日志所示插入,但一旦我尝试检索该用户,则所有应该是外部表字段的字段都是
nil
[]
。从我在数据库中看到的情况来看,这些表的值被插入,并且实际上创建了外键,那么问题出在哪里呢

型号:

类型用户结构{
ID字符串`json:“ID”gorm:“primaryKey”`
时间,时间
时间到了,时间到了
DeletedAt gorm.DeletedAt`gorm:“索引”`
许可证*License`json:“许可证”`
Statistics[]*Statistic`json:“Statistics”`
App*App`json:“App”`
禁用bool`json:“禁用”`
EncryptedID字符串`json:“加密的\u id”`
}
//未找到但在创建后存在于数据库中的表中的1个
类型许可证结构{
戈姆模型
Key字符串`json:“Key”`
DesktopHardwareID字符串`json:“桌面硬件id”`
MobileHardwareID*字符串`json:“移动硬件id”`
Stripe*Stripe`json:“Stripe”,gorm:“foreignKey:LicenseID”`
用户id字符串`json:“用户id”`
}
日志:

提前谢谢

  • 编辑1 检索行的代码

要从关系表加载数据,可以使用
Preload
功能

要加载所有第一级关联,可以执行以下操作:

db.PostgresClient.Preload(clause.Associations).Where("id = ?", tokens[0]).First(&user)
但是,对于嵌套关联,您需要单独执行:

db.PostgresClient.Preload("License.Stripe").Where("id = ?", tokens[0]).First(&user)

您可以查看以了解更多详细信息。

您还可以添加检索数据的代码吗?是的,编辑了@Eminaletovic的帖子
db.PostgresClient.Preload(clause.Associations).Where("id = ?", tokens[0]).First(&user)
db.PostgresClient.Preload("License.Stripe").Where("id = ?", tokens[0]).First(&user)