在使用gorm时定义了两种类似的struct,为什么一个成功一个失败了?

在使用gorm插入数据时,为什么第二种struct插入会失败?两个有什么区别吗?正确的写法应该是什么?

回答

第二种定义要将其嵌入,加个embedded标签
type InsertFileInfo struct {
FileInfo FileResult json:"file_inifo" gorm:"embedded"
}

你这两种区别就是结构体定义完全不一样,第一种直接内嵌的,你可以直接用
InsertFileInfo来访问FileResult的成员
而第二种,你必须要先访问InsertFileInfo的成员FileInfo再来访问FileResult的成员

能不能不要用图片,真心懒的打字。别人帮你解答问题,让别人方便一点不好吗?

第一个是直接嵌入的,匿名,相当于把FileResult直接复制进去。第二个你是定义了一个新的字段FileInfo,相当于再把FileResult直接复制进去。所以这两个结构完全不一样啊。

第一个会创建一张表,第二个是外键

以上是 在使用gorm时定义了两种类似的struct,为什么一个成功一个失败了? 的全部内容, 来源链接: utcz.com/a/44131.html

回到顶部