entc/gen: load referenced foreign-keys on eager-loading (#3497)

This commit is contained in:
Ariel Mashraki
2023-04-20 17:26:37 +03:00
committed by GitHub
parent f6de6bb2e0
commit 6198beb484
68 changed files with 541 additions and 114 deletions

View File

@@ -416,6 +416,9 @@ func (uq *UserQuery) loadPets(ctx context.Context, query *PetQuery, nodes []*Use
init(nodes[i])
}
}
if len(query.ctx.Fields) > 0 {
query.ctx.AppendFieldOnce(pet.FieldOwnerID)
}
query.Where(predicate.Pet(func(s *sql.Selector) {
s.Where(sql.InValues(s.C(user.PetsColumn), fks...))
}))
@@ -427,7 +430,7 @@ func (uq *UserQuery) loadPets(ctx context.Context, query *PetQuery, nodes []*Use
fk := n.OwnerID
node, ok := nodeids[fk]
if !ok {
return fmt.Errorf(`unexpected foreign-key "owner_id" returned %v for node %v`, fk, n.ID)
return fmt.Errorf(`unexpected referenced foreign-key "owner_id" returned %v for node %v`, fk, n.ID)
}
assign(node, n)
}