我能夠通過這種情況部分解決這個問題不幸的是,Preload() 函數(shù)似乎不適用于深入研究相關(guān)對象集。為了澄清,我有以下模型: type Room struct { gorm.Model Name string Games []Game `gorm:"ForeignKey:RoomID"` } type Game struct { gorm.Model RoomID int `gorm:"index"` Players []Player `gorm:"ForeignKey:GameID"` } type Player struct { gorm.Model Name string GameID int `gorm:"index"` }當(dāng)我創(chuàng)建一個包含新房間、游戲和玩家對象的新對象時,我會返回以下數(shù)據(jù)(json 編碼): {"Value":{"ID":26,"CreatedAt":"2016-05-15T01:21:22.426234189-07:00","UpdatedAt":"2016-05-15T01:21:22.426234189-07:00","DeletedAt":null,"Name":"foo","Games":[{"ID":17,"CreatedAt":"2016-05-15T01:21:22.427026134-07:00","UpdatedAt":"2016-05-15T01:21:22.427026134-07:00","DeletedAt":null,"RoomID":26,"Turns":null,"Players":[{"ID":4,"CreatedAt":"2016-05-15T01:21:22.427560561-07:00","UpdatedAt":"2016-05-15T01:21:22.427560561-07:00","DeletedAt":null,"Name":"TestPlayer","GameID":17}],"Counter":1,"Assigned":false}],"Testing":false},"Error":null,"RowsAffected":1}但是,如果我嘗試使用 preload() 函數(shù)查詢結(jié)構(gòu),我會得到以下信息: {"Value":{"ID":26,"CreatedAt":"2016-05-15T01:21:22.426234189-07:00","UpdatedAt":"2016-05-15T01:21:22.426234189-07:00","DeletedAt":null,"Name":"foo","Games":[{"ID":17,"CreatedAt":"2016-05-15T01:21:22.427026134-07:00","UpdatedAt":"2016-05-15T01:21:22.427026134-07:00","DeletedAt":null,"RoomID":26,"Turns":null,"Players":null,"Counter":1,"Assigned":false}],"Testing":false},"Error":null,"RowsAffected":1}請注意,Players 部分現(xiàn)在為空。這是我的房間注冊和房間查詢功能: func RegisterRoom(w http.ResponseWriter, r *http.Request) { err := r.ParseForm() if err != nil { // Handle error }
- 1 回答
- 0 關(guān)注
- 147 瀏覽
添加回答
舉報(bào)
0/150
提交
取消