Rumah > Soal Jawab > teks badan
Hai, katakan saya mempunyai 3 struktur dalam format berikut
type Employee struct { Id int Name string CompanyId int `gorm:"column:companyId"` Company Company `gorm:"foreignKey:CompanyId"` } type Company struct { Id int CompanyName string OwnerId `gorm:"column:owner"` Owner Owner `gorm:"foreignKey:OwnerId"` } type Owner struct { Id int Name string Age int Email string } func (E Employee) GetAllEmployees() ([]Employee, error) { Employees := []Employee db.Preload("Company").Find(&Employees) } // -- -- There response will be like [ { id: 1 name: "codernadir" company: { id: 5 company_name: "Company" owner: { id 0 Name "" Age 0 Email "" } } } ]
Di sini saya mendapat nilai pemilik dengan nilai lalai. Contoh yang diberikan digunakan untuk menerangkan apa yang saya ingin capai.
Saya perlukan cara bagaimana untuk memuatkan struktur pemilik dan nilainya semasa memuatkan pekerja?
Sebarang cadangan akan sangat dihargai dan terima kasih terlebih dahulu
P粉6429205222024-03-28 11:06:30
Anda boleh menggunakan tag gorm:"embedded"
:
type Employee struct { Id int Name string CompanyId int `gorm:"column:companyId"` Company Company `gorm:"embedded"` } type Company struct { Id int CompanyName string OwnerId `gorm:"column:owner"` Owner Owner `gorm:"embedded"` } type Owner struct { Id int Name string Age int Email string }
P粉1487820962024-03-28 00:24:16
Ini adalah penyelesaian yang saya temui untuk memuatkan objek bersarang daripada struktur terbenam
db.Preload("Company").Preload("Company.Owner").Find(&Employees)