预加载在 *models.Catalog 中找不到字段 fieldName

我找不到我的问题的答案。我在 golang 项目中使用 jinzhu/gorm :) 我有以下结构:


type Catalog struct {

    ID              int64       `gorm:"primary_key" form:"id"`

    SubDomainID     int64       `form:"sub_domain_id"`

    ServiceTypeID   int64       `form:"service_type_id"`

    Checked         bool        `form:"checked"`

    CreatedAt       time.Time   `form:"created_at"`

    UpdatedAt       time.Time   `form:"updated_at"`


    SubDomain       SubDomain

}


type SubDomain struct {

   Id       int64   `gorm:"primary_key" form:"id"`

   NameRu   string  `form:name_ru`

   url  string  `form:url`

}

当我尝试通过预加载子域获取目录时:


var catalog Catalog

fmt.Println(catalog.SubDomain)

err := db.Preload("SubDomain").Where("checked = 0").First(&catalog).Error

if err != nil {

    return &catalog, err

}

我收到以下错误: can't find field SubDomain in *models.Catalog


为什么会这样?


我预计会有 2 个查询:

  1. select * from catalogs where checked = 0;

  2. select * from sub_domains where id = (catalog.sub_domain_id)


慕标5832272
浏览 172回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go