從他們的檔案中看一個例子:
type User struct {
gorm.Model
Name string
CompanyID int
Company Company
}
type Company struct {
ID int
Name string
}
CompanyID領域似乎相當多余。是否可以在Company場上使用一些標簽來擺脫它?
uj5u.com熱心網友回復:
User像這樣更改定義可以解決問題:
type User struct {
gorm.Model
Name string
Company Company `gorm:"column:company_id"`
}
uj5u.com熱心網友回復:
你可以創建自己的BaseModel,而不是使用的gorm.Model,例如
type BaseModel struct {
ID uint `gorm:"not null;AUTO_INCREMENT;primary_key;"`
CreatedAt *time.Time
UpdatedAt *time.Time
DeletedAt *time.Time `sql:"index"`
}
然后,在User,做這樣的事情,基本上覆寫默認Foreign Key
type User struct {
BaseModel
Name string
Company company `gorm:"foreignKey:id"`
}
和公司
type Company struct {
BaseModel
Name string
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/385357.html
