我有一个 postgres 数据库,我想为它生成表并使用 Gorp 写入,但是当我尝试插入时收到一条错误消息,因为我的结构中包含切片“sql:转换参数 $4 类型:不支持的类型 [] core.EmbeddedStruct,结构切片。
我的结构如下所示:
type Struct1 struct {
ID string
Name string
Location string
EmbeddedStruct []EmbeddedStruct
}
type EmbeddedStruct struct {
ID string
Name string
struct1Id string
EmbeddedStruct2 []EmbeddedStruct2
}
type EmbeddedStruct2 struct {
ID string
Name string
embeddedStructId string
}
func (repo *PgStruct1Repo) Write(t *core.Struct1) error {
trans, err := createTransaction(repo.dbMap)
defer closeTransaction(trans)
if err != nil {
return err
}
// Check to see if struct1 item already exists
exists, err := repo.exists(t.ID, trans)
if err != nil {
return err
}
if !exists {
log.Debugf("saving new struct1 with ID %s", t.ID)
err = trans.Insert(t)
if err != nil {
return err
}
return nil
}
return nil
}
有没有人有任何经验/或知道 Gorp 是否支持插入切片?从我读过的内容来看,它似乎只支持 SELECT 语句的切片