entc/gen: add support for WithNamed<E> feature-flag (#2792)

* entc/gen: struct fields and methods for NamedEdge api

* entc/gen: generate WithNamedEdge methods for named-edges

* entc/gen: implement eager-loading for named-edges

* entc/gen: simplify eager-loading template

* entc/gen: drop support for unqiue edges in named-based loading

* all: codegen

* doc/website: named-edges feature-flag

* Update doc/md/eager-load.mdx

* Update doc/md/eager-load.mdx
This commit is contained in:
Ariel Mashraki
2022-07-24 18:41:07 +03:00
committed by GitHub
parent a2b18f24f0
commit b60e0f9eac
187 changed files with 1791 additions and 679 deletions

View File

@@ -45,8 +45,7 @@ type CarEdges struct {
func (e CarEdges) OwnerOrErr() (*User, error) {
if e.loadedTypes[0] {
if e.Owner == nil {
// The edge owner was loaded in eager-loading,
// but was not found.
// Edge was loaded but was not found.
return nil, &NotFoundError{label: user.Label}
}
return e.Owner, nil

View File

@@ -28,9 +28,8 @@ type CarQuery struct {
order []OrderFunc
fields []string
predicates []predicate.Car
// eager-loading edges.
withOwner *UserQuery
withFKs bool
withOwner *UserQuery
withFKs bool
// intermediate query (i.e. traversal path).
sql *sql.Selector
path func(context.Context) (*sql.Selector, error)

View File

@@ -29,8 +29,7 @@ type GroupQuery struct {
order []OrderFunc
fields []string
predicates []predicate.Group
// eager-loading edges.
withUsers *UserQuery
withUsers *UserQuery
// intermediate query (i.e. traversal path).
sql *sql.Selector
path func(context.Context) (*sql.Selector, error)

View File

@@ -30,7 +30,6 @@ type UserQuery struct {
order []OrderFunc
fields []string
predicates []predicate.User
// eager-loading edges.
withCars *CarQuery
withGroups *GroupQuery
// intermediate query (i.e. traversal path).