首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >go-pg得到的没有关系的想法在我的桌子上有关系

go-pg得到的没有关系的想法在我的桌子上有关系
EN

Stack Overflow用户
提问于 2020-09-10 07:42:39
回答 1查看 637关注 0票数 2

我有一个与省份的联系人关系,下面是我的结构

代码语言:javascript
复制
    Contact struct {
        tableName       struct{}    `pg:"contacts,discard_unknown_columns"`
        ID              int         `json:"id"`
        Address         string      `json:"address"`
        BuildingType    string      `json:"building_type"`
        BuildingNumber  float64     `json:"building_number"`
        Province        *Province   `pg:"fk:province_id" json:"province"`
    }

    Province struct {
        tableName      struct{}         `pg:"provinces,discard_unknown_columns"`
        ID             int              `json:"id" pg:",pk"`
        Name           string           `json:"name"`
    }

下面是我调用的方法:

代码语言:javascript
复制
    var us Contact
    err = db.Model(&us).Relation("provinces").Where(
        "id = ?", 3,
    ).Select()

我去的是model=Contact does not have relation="provinces"怎样用go-pg正确的查询?

当我使用标记pg:"rel:has-one"更改省/省的联系人标记时

我得到了这个错误pg: Contact has-one Province: Contact must have column province_id (use fk:custom_column tag on Province field to specify custom column)

注意:我不使用他们的迁移,我使用sql-migration进行所有迁移

EN

回答 1

Stack Overflow用户

发布于 2020-11-03 18:41:16

如错误和文档中所述,您需要在Contact上有一个province_id

代码语言:javascript
复制
Contact struct {
    tableName       struct{}    `pg:"contacts,discard_unknown_columns"`
    ID              int         `json:"id"`
    Address         string      `json:"address"`
    BuildingType    string      `json:"building_type"`
    BuildingNumber  float64     `json:"building_number"`
    ProvinceId      int         
    Province        *Province   `pg:"rel:has-one" json:"province"`
}

如果引用列名不是province_id,那么可以使用另一个列并向其中添加fk:custom_column

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63820921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档