我有一个与省份的联系人关系,下面是我的结构
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进行所有迁移
发布于 2020-11-03 18:41:16
如错误和文档中所述,您需要在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"`
}如果引用列名不是province_id,那么可以使用另一个列并向其中添加fk:custom_column。
https://stackoverflow.com/questions/63820921
复制相似问题