我将需要使用递归进行连接,如下所示:
SELECT a.*, b.* c.* FROM a
LEFT JOIN b on b.id = a.b_id
LEFT JOIN c ON c.id = b.c_id我的模型定义是:
type A struct {
ID int,
NameA string,
B_id int
B *B,
C *C,
}
type B struct {
ID int,
C_id int,
NameB string,
C C,
}
type C struct {
ID int,
NameC string,
}我尝试使用关系,但没有起作用:
a := A{}
//does not work
db.Model(&a).Relation("B").Relation("C").First()
//works
db.Model(&a).Relation("B").First()我如何在go-pg上实现递归连接,请告诉我是否有人有使用它的经验。非常感谢。
发布于 2019-06-14 00:19:55
您需要指出它实际上是第二个结构上的一个关系:
db.Model(&a).Relation("B").Relation("B.C").First()https://stackoverflow.com/questions/54083904
复制相似问题