我正在嘗試使用 go 作為學(xué)習(xí)項目創(chuàng)建一個簡單的 REST API。我在嘗試使用 GORM 的預(yù)加載功能填充關(guān)系時遇到了一個障礙。has manyJoins據(jù)我所知,我已經(jīng)正確設(shè)置了關(guān)系,表結(jié)構(gòu)在數(shù)據(jù)庫中看起來不錯,并且插入了記錄,但是以下代碼產(chǎn)生了錯誤: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)}任何關(guān)于我哪里出錯的指導(dǎo)將不勝感激,全新的。
- 1 回答
- 0 關(guān)注
- 267 瀏覽
添加回答
舉報
0/150
提交
取消