mirror of
https://github.com/ent/ent.git
synced 2026-05-24 09:31:56 +03:00
examples: regenerate assets
This commit is contained in:
@@ -170,16 +170,11 @@ func (c *PetClient) GetX(ctx context.Context, id int) *Pet {
|
||||
func (c *PetClient) QueryOwner(pe *Pet) *UserQuery {
|
||||
query := &UserQuery{config: c.config}
|
||||
id := pe.ID
|
||||
step := &sql.Step{}
|
||||
step.From.V = id
|
||||
step.From.Table = pet.Table
|
||||
step.From.Column = pet.FieldID
|
||||
step.To.Table = user.Table
|
||||
step.To.Column = user.FieldID
|
||||
step.Edge.Rel = sql.M2O
|
||||
step.Edge.Inverse = true
|
||||
step.Edge.Table = pet.OwnerTable
|
||||
step.Edge.Columns = append(step.Edge.Columns, pet.OwnerColumn)
|
||||
step := sql.NewStep(
|
||||
sql.From(pet.Table, pet.FieldID, id),
|
||||
sql.To(user.Table, user.FieldID),
|
||||
sql.Edge(sql.M2O, true, pet.OwnerTable, pet.OwnerColumn),
|
||||
)
|
||||
query.sql = sql.Neighbors(pe.driver.Dialect(), step)
|
||||
|
||||
return query
|
||||
@@ -253,16 +248,11 @@ func (c *UserClient) GetX(ctx context.Context, id int) *User {
|
||||
func (c *UserClient) QueryPets(u *User) *PetQuery {
|
||||
query := &PetQuery{config: c.config}
|
||||
id := u.ID
|
||||
step := &sql.Step{}
|
||||
step.From.V = id
|
||||
step.From.Table = user.Table
|
||||
step.From.Column = user.FieldID
|
||||
step.To.Table = pet.Table
|
||||
step.To.Column = pet.FieldID
|
||||
step.Edge.Rel = sql.O2M
|
||||
step.Edge.Inverse = false
|
||||
step.Edge.Table = user.PetsTable
|
||||
step.Edge.Columns = append(step.Edge.Columns, user.PetsColumn)
|
||||
step := sql.NewStep(
|
||||
sql.From(user.Table, user.FieldID, id),
|
||||
sql.To(pet.Table, pet.FieldID),
|
||||
sql.Edge(sql.O2M, false, user.PetsTable, user.PetsColumn),
|
||||
)
|
||||
query.sql = sql.Neighbors(u.driver.Dialect(), step)
|
||||
|
||||
return query
|
||||
|
||||
@@ -262,8 +262,12 @@ func NameContainsFold(v string) predicate.Pet {
|
||||
func HasOwner() predicate.Pet {
|
||||
return predicate.Pet(
|
||||
func(s *sql.Selector) {
|
||||
t1 := s.Table()
|
||||
s.Where(sql.NotNull(t1.C(OwnerColumn)))
|
||||
step := sql.NewStep(
|
||||
sql.From(Table, FieldID),
|
||||
sql.To(OwnerTable, FieldID),
|
||||
sql.Edge(sql.M2O, true, OwnerTable, OwnerColumn),
|
||||
)
|
||||
sql.HasNeighbors(s, step)
|
||||
},
|
||||
)
|
||||
}
|
||||
@@ -272,13 +276,16 @@ func HasOwner() predicate.Pet {
|
||||
func HasOwnerWith(preds ...predicate.User) predicate.Pet {
|
||||
return predicate.Pet(
|
||||
func(s *sql.Selector) {
|
||||
builder := sql.Dialect(s.Dialect())
|
||||
t1 := s.Table()
|
||||
t2 := builder.Select(FieldID).From(builder.Table(OwnerInverseTable))
|
||||
for _, p := range preds {
|
||||
p(t2)
|
||||
}
|
||||
s.Where(sql.In(t1.C(OwnerColumn), t2))
|
||||
step := sql.NewStep(
|
||||
sql.From(Table, FieldID),
|
||||
sql.To(OwnerInverseTable, FieldID),
|
||||
sql.Edge(sql.M2O, true, OwnerTable, OwnerColumn),
|
||||
)
|
||||
sql.HasNeighborsWith(s, step, func(s *sql.Selector) {
|
||||
for _, p := range preds {
|
||||
p(s)
|
||||
}
|
||||
})
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
@@ -57,16 +57,11 @@ func (pq *PetQuery) Order(o ...Order) *PetQuery {
|
||||
// QueryOwner chains the current query on the owner edge.
|
||||
func (pq *PetQuery) QueryOwner() *UserQuery {
|
||||
query := &UserQuery{config: pq.config}
|
||||
step := &sql.Step{}
|
||||
step.From.V = pq.sqlQuery()
|
||||
step.From.Table = pet.Table
|
||||
step.From.Column = pet.FieldID
|
||||
step.To.Table = user.Table
|
||||
step.To.Column = user.FieldID
|
||||
step.Edge.Rel = sql.M2O
|
||||
step.Edge.Inverse = true
|
||||
step.Edge.Table = pet.OwnerTable
|
||||
step.Edge.Columns = append(step.Edge.Columns, pet.OwnerColumn)
|
||||
step := sql.NewStep(
|
||||
sql.From(pet.Table, pet.FieldID, pq.sqlQuery()),
|
||||
sql.To(user.Table, user.FieldID),
|
||||
sql.Edge(sql.M2O, true, pet.OwnerTable, pet.OwnerColumn),
|
||||
)
|
||||
query.sql = sql.SetNeighbors(pq.driver.Dialect(), step)
|
||||
return query
|
||||
}
|
||||
|
||||
@@ -363,16 +363,12 @@ func NameContainsFold(v string) predicate.User {
|
||||
func HasPets() predicate.User {
|
||||
return predicate.User(
|
||||
func(s *sql.Selector) {
|
||||
t1 := s.Table()
|
||||
builder := sql.Dialect(s.Dialect())
|
||||
s.Where(
|
||||
sql.In(
|
||||
t1.C(FieldID),
|
||||
builder.Select(PetsColumn).
|
||||
From(builder.Table(PetsTable)).
|
||||
Where(sql.NotNull(PetsColumn)),
|
||||
),
|
||||
step := sql.NewStep(
|
||||
sql.From(Table, FieldID),
|
||||
sql.To(PetsTable, FieldID),
|
||||
sql.Edge(sql.O2M, false, PetsTable, PetsColumn),
|
||||
)
|
||||
sql.HasNeighbors(s, step)
|
||||
},
|
||||
)
|
||||
}
|
||||
@@ -381,13 +377,16 @@ func HasPets() predicate.User {
|
||||
func HasPetsWith(preds ...predicate.Pet) predicate.User {
|
||||
return predicate.User(
|
||||
func(s *sql.Selector) {
|
||||
builder := sql.Dialect(s.Dialect())
|
||||
t1 := s.Table()
|
||||
t2 := builder.Select(PetsColumn).From(builder.Table(PetsTable))
|
||||
for _, p := range preds {
|
||||
p(t2)
|
||||
}
|
||||
s.Where(sql.In(t1.C(FieldID), t2))
|
||||
step := sql.NewStep(
|
||||
sql.From(Table, FieldID),
|
||||
sql.To(PetsInverseTable, FieldID),
|
||||
sql.Edge(sql.O2M, false, PetsTable, PetsColumn),
|
||||
)
|
||||
sql.HasNeighborsWith(s, step, func(s *sql.Selector) {
|
||||
for _, p := range preds {
|
||||
p(s)
|
||||
}
|
||||
})
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
@@ -57,16 +57,11 @@ func (uq *UserQuery) Order(o ...Order) *UserQuery {
|
||||
// QueryPets chains the current query on the pets edge.
|
||||
func (uq *UserQuery) QueryPets() *PetQuery {
|
||||
query := &PetQuery{config: uq.config}
|
||||
step := &sql.Step{}
|
||||
step.From.V = uq.sqlQuery()
|
||||
step.From.Table = user.Table
|
||||
step.From.Column = user.FieldID
|
||||
step.To.Table = pet.Table
|
||||
step.To.Column = pet.FieldID
|
||||
step.Edge.Rel = sql.O2M
|
||||
step.Edge.Inverse = false
|
||||
step.Edge.Table = user.PetsTable
|
||||
step.Edge.Columns = append(step.Edge.Columns, user.PetsColumn)
|
||||
step := sql.NewStep(
|
||||
sql.From(user.Table, user.FieldID, uq.sqlQuery()),
|
||||
sql.To(pet.Table, pet.FieldID),
|
||||
sql.Edge(sql.O2M, false, user.PetsTable, user.PetsColumn),
|
||||
)
|
||||
query.sql = sql.SetNeighbors(uq.driver.Dialect(), step)
|
||||
return query
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user