国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

使用GORM加載嵌套對(duì)象的GoLang方法
P粉448346289
P粉448346289 2024-03-27 13:20:01
0
2
634

嗨,假設(shè)我有 3 個(gè)采用以下格式的結(jié)構(gòu)

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 ""
      }
    }
  }
]

這里我得到了具有默認(rèn)值的所有者值。 給出的示例用于描述我想要達(dá)到的目標(biāo)。

我需要一種方法,如何在加載員工時(shí)加載所有者結(jié)構(gòu)及其值?

如有任何建議,我們將不勝感激,并提前致謝

P粉448346289
P粉448346289

全部回復(fù)(2)
P粉642920522

您可以使用 gorm:"embedded" 標(biāo)簽:

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粉148782096

這是我發(fā)現(xiàn)的從嵌入式結(jié)構(gòu)加載嵌套對(duì)象的解決方案

db.Preload("Company").Preload("Company.Owner").Find(&Employees)
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板