gorm一对多映射问题
我这边利用golang的gorm构造了数据模型,一个posts,一个users,一个用户对应多个文章
posts.go
type Posts struct {
gorm.Model
//Key string `gorm:"unique:not null"`
//一对多关系映射 关联外键
User Users
Userid int
Title string `gorm:"type:varchar(200)"`
Summart string `gorm:"varchar(800)"`
Content string `gorm:"type:text"`
VisitCount int `gorm:"default:0"`
Like int `gorm:"default:0"`
}
users.go
type Users struct {
gorm.Model
Username string `gorm:"unique_index"`
// 一对多关系映射,一个用户有多篇文章
PostsArticle []Posts `gorm:"FOREIGNKEY:Userid;ASSOCIATION_FOREIGNKEY:ID"`
Password string
Avatar string
IsLogin bool `gorm:"default:false"`
//添加默认值 0代表管理员,1代表普通用户
Role int `gorm:"default(1)"`
}
然后想通过用户id查到相关联的文章
func GetPostsByUserID(id int) (*[]Posts, error) {
var posts []Posts
if err := db.Debug().Preload("User").Find(&posts).Error; err != nil {
return nil, err
}
return &posts, nil
}
最后出现这个问题,怎么解决
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你这个关系其实是 多个Posts所属一个User。
所以应该是
Post表的关键位置是
直接查询即可