我正在尝试使用 go 作为学习项目创建一个简单的 REST API。我在尝试使用 GORM 的预加载功能填充关系时遇到了一个障碍。has manyJoins据我所知,我已经正确设置了关系,表结构在数据库中看起来不错,并且插入了记录,但是以下代码产生了错误:panic: reflect: call of reflect.Value.Field on slice Value我在这里制作了一个最小的示例来显示我的问题package mainimport ( "log" "gorm.io/driver/postgres" "gorm.io/gorm")type Page struct { gorm.Model Text string BookID uint}type Book struct { gorm.Model Pages []Page}func main() { db, err := gorm.Open(postgres.Open("postgres://postgres:password@host.docker.internal:5432/postgres"), &gorm.Config{}) if err != nil { log.Fatal(err.Error()) } db.AutoMigrate(&Book{}) db.AutoMigrate(&Page{}) db.Create(&Book{ Pages: []Page{ {Text: "Page One"}, }, }) result := []Book{} // errors here db.Joins("Pages").Find(&result) // works fine // db.Preload("Pages").Find(&result)}任何关于我哪里出错的指导将不胜感激,全新的。
- 1 回答
- 0 关注
- 203 浏览
添加回答
举报
0/150
提交
取消