我正在try 从我的数据库加载队列项目.我已经创建了一个API终结点,但我无法获取队列项预加载的数据.相反,整个"data"对象都是空值.
处理程序:
func QueueItemHandler(w http.ResponseWriter, r *http.Request) {
var queueItems QueueItem
var builder = database.Model(QueueItem{})
var queryError = builder.
Preload("Status").
Preload("Data").
Find(&queueItems).
Error
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(queueItems)
}
下面是我的GORM模型的设置:
type QueueItemStatus struct {
ID int64 `json:"id" gorm:"primary_key"`
Name string `json:"name"`
Description string `json:"description"`
}
type QueueItemData struct {
ID int64 `json:"id" gorm:"primary_key"`
QueueItemId int64 `json:"queue_item_id"`
ScreenshotUrl string `json:"screenshot_url"`
}
type QueueItem struct {
ID int64 `json:"id" gorm:"primary_key"`
SourceUrl string `json:"source_url"`
OriginId int64 `json:"origin_id"`
StatusId int64 `json:"status_id"`
Status QueueItemStatus `json:"status"`
Data QueueItemData `json:"data" gorm:"foreignKey:id,references:queue_item_id"`
CreatedAt time.Time `json:"created_at"`
}
我在想,也许我把模型设置得指向了错误的列,如果有的话?