无法让GORM协会按预期工作

时间:2017-05-29 10:22:27

标签: go go-gorm

我的两个型号是

package models

// Business ...
type Business struct {
    ID     uint
    Name   string `gorm:"not null"`
    Tables Tables `gorm:"ForeignKey:BusinessID"`
}

// Businesses ...
type Businesses []Business

package models

// Table ...
type Table struct {
    ID         uint
    Ref        string `gorm:"not null"`
    Business   Business
    BusinessID uint
}

// Tables ...
type Tables []Table

从代码中可以明显看出,但关联应该是“业务”有很多“表”,“表”属于“业务”。但是,在创建数据库时,没有创建外键(我正在使用sqlite3),当我返回使用

创建的业务时
 bus := models.Business{
        Name: "Test",
        Tables: models.Tables{
        models.Table{Ref: "A1"},
    },
}
db.Create(&bus)

business数组是空的,虽然business_id正确但是返回表时,业务结构也是空的。

1 个答案:

答案 0 :(得分:1)

我无法重现你的问题。我这里有一个有效的解决方案。我怀疑它不适用于单独的模型包中的实体,但这也有效。

@Service