为了账号安全,请及时绑定邮箱和手机立即绑定

go-pg got 没有关系 认为我的桌子上有关系

go-pg got 没有关系 认为我的桌子上有关系

Go
Qyouu 2022-06-27 16:31:40
我与各省有联系,这是我的结构    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"`    }在这里我怎么称呼:    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 进行所有迁移
查看完整描述

2 回答

?
MM们

TA贡献1886条经验 获得超2个赞

如错误和文档中所述,您需要province_id在Contact:


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"`

}

如果您的 ref 列名称不是province_id,那么您可以使用另一列并添加fk:custom_column到它。


查看完整回答
反对 回复 2022-06-27
?
隔江千里

TA贡献1906条经验 获得超10个赞

你所在的省份缺少外键,试试这个我认为它会工作。


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:contact_id" json:"province"`

}


Province struct {

    tableName      struct{}         `pg:"provinces,discard_unknown_columns"`

    ID             int              `json:"id" pg:",pk"`

    Name           string           `json:"name"`

    ContactID      int              `pg:"on_delete:CASCADE,notnull"`

}


查看完整回答
反对 回复 2022-06-27
  • 2 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信