我很难为多个引用同一个表的注释找到正确的注释。就像这样:
type Pet struct {
gorm.Model
Name string
}
type PetOwner struct {
gorm.Model
LargestPet *Pet
SmallestPet *Pet
AllOthers []*Pet
}有人知道哪些注释和哪些显式id字段可以让它工作吗?
非常感谢!
发布于 2022-02-15 13:46:31
我的工作如下:
type PetOwner struct {
gorm.Model
LargestPetID uint
LargetPet *Pet `gorm:"foreignKey:LargestPetID`
SmallestPetID uint
SmallestPet *Pet `gorm:"foreignKey:SmallestPetID`
AllOthers []*Pet
}然后按以下方式加载数据:
var petOwner PetOwner
db.Joins("AllOthers").Joins("SmallestPet").Joins("LargestPet").Find(&petOwner)如果您想从宠物的主人那里访问它是最大的宠物,您可以修改宠物定义如下:
type Pet struct {
gorm.Model
...
LargestPetOf *PetOwner `gorm:"foreignKey:LargestPetID"
}然后用一个.Join("LargestPetOf")加载这个
https://stackoverflow.com/questions/71109098
复制相似问题