Gorm和协会

时间:2018-01-20 18:07:23

标签: go go-gorm

我正在尝试弄清楚如何加载与gorm的关联。文档不是很好。

我必须建模:

type Account struct {
    gorm.Model
    Name          string `gorm:"column:name;unique_index;not null;size:255"`
    AccountTypeID uint   `gorm:"not null"`
    UserID        uint   `gorm:"not null"`
    AccountType   accounttypes.AccountType
}

type AccountType struct {
    gorm.Model
    Name string `gorm:"column:name;unique_index;not null;size:255"`
    Type string `gorm:"column:type;unique_index;not null;size:255"`
}

因此每个Account都有Account Type与之关联。

当我尝试通过以下方式加载数据时:

func GetAccounts(userId uint) ([]Account, error) {
    db := common.GetDB()
    var model []Account
    db.LogMode(true)
    err := db.Model(&Account{}).Where("accounts.user_id =?", userId).Related(&accounttypes.AccountType{}, "AccountTypes").Error
    return model, err
}

这是输出: enter image description here

有人可以解释一下如何正确地采用'gorm方式'吗?

0 个答案:

没有答案