繁体   English   中英

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

[英]go-pg got doesn't has relation thought on my table has relation

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

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

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

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添加到其中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM