go - 为 struct main 找到无效字段。文章的字段作者
问题描述
我的应用程序中有以下模型:
import "gorm.io/gorm"
type User struct {
gorm.Model
Username string
Password string
Email string
Token string
}
type Article struct {
gorm.Model
Author User `gorm:"constraint:OnUpdate:CASCADE,OnDelete:SET NULL;"`
Text string
views int
likes int
}
但我收到此错误:
[错误] struct main.Article的字段Author,需要为关系定义一个有效的外键或者需要实现Valuer/Scanner接口的无效字段
解决方案
修复相对容易,唯一缺失的问题已经被错误提示:你没有提供外键约束提示做 GORM。按照这里的官方文档,我们可以简单地这样做:
type Article struct {
gorm.Model
AuthorID uint
Author User `gorm:"constraint:OnUpdate:CASCADE,OnDelete:SET NULL;"`
Text string
views int
likes int
}
因此,AuthorID字段实际上会为 GORM 突出显示将引用 User 表的 FK 字段。
但是,您可能会考虑在 User 结构中添加到 Articles 的链接,这样您就可以预加载Author(s) 的所有文章。请参阅此处的链接,但将实现留给您尝试。
推荐阅读
- java - 是否可以纯粹使用 poi excel 创建依赖下拉列表
- android - Android Studio:通过第三方迁移到 AndroidX
- java - java.lang.NoSuchMethodError: javax.servlet.http.HttpServletResponse.getStatus()
- ios - 如何在 iOS 上拍摄全球地图的快照
- wix - 如何在系统日志中禁用 msi 安装程序日志记录
- sql - VBA SQL:From 子句中的语法错误,使用密码进行双重内连接
- uipath - **Uipath - 如何通过全文搜索对象**
- youtube - 如何从特定类别的播放列表中检索视频
- excel - 根据多个条件对 Excel 中的两行求和
- html - 如何使用css3关键帧动画为序列中的列表项设置动画