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

我与各省有联系,这是我的结构


    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 进行所有迁移


Qyouu
浏览 108回答 2
2回答

MM们

如错误和文档中所述,您需要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到它。

隔江千里

你所在的省份缺少外键,试试这个我认为它会工作。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"`}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go