1
데이터베이스에 작성하고 해당 테이블의 행에 유효한 데이터가 된 다음과 같은 데이터 구조를 감안할 때 : -GORM 협회
type Deployment struct {
gorm.Model
Name string `gorm:"unique_index:idx_name"`
RestAPIUser string
RestAPIPass string
Servers []Server
model *Model
}
type Server struct {
gorm.Model
DeploymentID uint
Hostname string `gorm:"unique_index:idx_hostname"`
RestPort string
Version string
}
내가 자동으로 GORM을 모두 배포를 선택하고이려고을 각 배치의 서버를 채우십시오.
불행히도, 이렇게하지 않습니다. Associations() func을 사용하여 여러 가지 변형을 시도했지만 제대로 작동하지 않는 것 같습니다. 나는 수동으로 수행해야 할 것 같다 : -
func (m *Model) GetDeployments() ([]Deployment, error) {
deployments := []Deployment{}
err := m.db.Find(&deployments).Error
if err != nil {
return nil, err
}
deploymentsWithServers := []Deployment{}
for _, d := range deployments {
servers := []Server{}
err := m.db.Model(&d).Association("Servers").Find(&servers).Error
if err != nil {
return nil, err
}
d.Servers = servers
deploymentsWithServers = append(deploymentsWithServers, d)
}
return deploymentsWithServers, nil
}
사람이 내가 GORM 자동으로 서버 필드를 채우기 위해 얻을 수있는 방법 어떤 제안이 있습니까? 감사!