Golang go-pg отношение рекурсивный запрос
Мне нужно будет присоединиться к рекурсиву, что-то вроде этого:
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, пожалуйста, дайте мне знать, если у кого-то есть опыт работы с ним. Большое спасибо.
0 ответов
Вам нужно будет указать, что это на самом деле отношение ко второй структуре:
db.Model(&a).Relation("B").Relation("B.C").First()