【发布时间】:2019-01-17 17:32:56
【问题描述】:
我有这两种结构:
type Collection struct {
gorm.Model
APIKey string
CollectionID string
Name string
Environments []Environment
}
type Environment struct {
gorm.Model
EnvironmentID string
Name string
Provider string
FlightType string
ADT int
CHD int
INF int
}
主要看起来像:
func main() {
adminResource := admin.New(&admin.AdminConfig{DB: model.DB})
adminResource.AddResource(&model.Collection{})
adminResource.AddResource(&model.Environment{})
mux := http.NewServeMux()
adminResource.MountTo("/admin", mux)
if err := http.ListenAndServe(":8000", mux); err != nil {
panic(err)
} else {
fmt.Println("Listening on: 8000")
}
}
关键是我不知道我是否应该做其他事情来允许 Collection 和 Environemt 之间的成员关系是一对多的。问题是管理视图上的表单看起来不错,我可以添加尽可能多的环境...但是提交表单只有Collection 保存在数据库中。
【问题讨论】:
-
您是否在两个模型之间设置了任何关系? godoc.org/github.com/jinzhu/gorm#Relationship
-
嗨@apxp 我正在尝试这样做:
db.Model(&Collection).Related(&Environment)。我尝试使用 Collection 和 Environments 的结构作为参数,但这些函数是面向实例的。 我不知道在哪里做,因为表单的处理是由 qor 内部管理的。有没有办法在 Collection 的负载上添加中间件(或其他东西)??