我有两种有着多到多关系的模特:
type Person struct {
tableName struct{} `sql:"person"`
UUID string `sql:"person_uuid,pk"`
ContactDatas []ContactData `pg:",many2many:person_contact_data,joinFK:"`
}
type ContactData struct {
tableName struct{} `sql:"contact_data"`
UUID string `sql:"contact_data_uuid,pk"`
}person_contact_data表的模型是:
type PersonContactData struct {
tableName struct{} `sql:"person_contact_data"`
PersonUUID string `sql:"person_uuid"`
ContactDataUUID string `sql:"contact_data_uuid"`
}如果joinFK in ContactDatas struct标记是空的,那么go-pg在外壳下添加下划线,因此生成的ContactDatas部件如下所示:WHERE ("contact_data"."contact_data_uuid" = person_contact_data."_contact_data_uuid")。
是否有一种完全手动指定连接键的方法?
发布于 2018-06-13 14:28:12
我使用的是版本5。在最新版本中,这是固定的,现在您可以指定完整的连接键:
type Person struct {
tableName struct{} `sql:"person"`
UUID string `sql:"person_uuid,pk"`
ContactDatas []ContactData `pg:",many2many:person_contact_data,fk:person_uuid,joinFK:contact_data_uuid"`
}https://stackoverflow.com/questions/50834982
复制相似问题