我正在使用Gorm和MySQL开发一个Gin应用程序.为了在Gorm模型中定义belongs to
个关系,您必须执行以下操作(示例取自Gorm文档):
// `User` belongs to `Company`, `CompanyID` is the foreign key
type User struct {
gorm.Model
Name string
CompanyID int
Company Company
}
type Company struct {
ID int
Name string
}
这就是我对我的模特所做的:
type Record struct {
Barcode string `json:"barcode" gorm:"size:48;unique;not null" sql:"index"`
Name string `json:"name" gorm:"size:160;unique;not null"`
ArtistID uint `json:"artist_id"`
Artist Artist `gorm:"foreignKey:ArtistID;references:ID"`
CategoryID uint `json:"category_id"`
Category Category `gorm:"foreignKey:CategoryID;references:ID"`
NumOfRecords int `json:"num_of_records" gorm:"not null"`
OriginalReleaseDate *utils.Date `json:"original_release_date" gorm:"default:null;type:date"`
ReissueReleaseDate *utils.Date `json:"reissue_release_date" gorm:"default:null;type:date"`
SideColor *string `json:"side_color" gorm:"default:null"`
BarcodeInRecord *bool `json:"barcode_in_record" gorm:"default=true"`
gorm.Model
}
type Category struct {
Name string `json:"name" gorm:"size:60;unique;not null"`
Description string `json:"description" gorm:"size:120"`
Parent uint `json:"parent" gorm:"default:null"`
Active bool `json:"active" gorm:"default:true"`
gorm.Model
}
type Artist struct {
Name string `json:"name" gorm:"size:120;unique;not null"`
Type string `json:"type" gorm:"default:null"`
CountryOfOrigin string `json:"countryOfOrigin" gorm:"default:null"`
gorm.Model
}
然而,在获取数据时,这两个关联并没有被填充:
{
"data": {
"barcode": "1231231231231292",
"name": "ABCD 12342",
"artist_id": 2,
"Artist": {
"name": "",
"type": "",
"countryOfOrigin": "",
"ID": 0,
"CreatedAt": "0001-01-01T00:00:00Z",
"UpdatedAt": "0001-01-01T00:00:00Z",
"DeletedAt": null
},
"category_id": 9,
"Category": {
"name": "",
"description": "",
"parent": 0,
"active": false,
"ID": 0,
"CreatedAt": "0001-01-01T00:00:00Z",
"UpdatedAt": "0001-01-01T00:00:00Z",
"DeletedAt": null
},
"num_of_records": 2,
"original_release_date": "1965-02-24",
"reissue_release_date": null,
"side_color": null,
"barcode_in_record": null,
"ID": 1,
"CreatedAt": "2022-04-25T12:53:32.275578-04:00",
"UpdatedAt": "2022-04-25T12:53:32.275578-04:00",
"DeletedAt": null
}
}
知道那里发生了什么吗?