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:
@@ -164,16 +164,11 @@ func (c *UserClient) GetX(ctx context.Context, id int) *User {
|
||||
func (c *UserClient) QueryFriends(u *User) *UserQuery {
|
||||
query := &UserQuery{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 = user.Table
|
||||
step.To.Column = user.FieldID
|
||||
step.Edge.Rel = sql.M2M
|
||||
step.Edge.Inverse = false
|
||||
step.Edge.Table = user.FriendsTable
|
||||
step.Edge.Columns = append(step.Edge.Columns, user.FriendsPrimaryKey...)
|
||||
step := sql.NewStep(
|
||||
sql.From(user.Table, user.FieldID, id),
|
||||
sql.To(user.Table, user.FieldID),
|
||||
sql.Edge(sql.M2M, false, user.FriendsTable, user.FriendsPrimaryKey...),
|
||||
)
|
||||
query.sql = sql.Neighbors(u.driver.Dialect(), step)
|
||||
|
||||
return query
|
||||
|
||||
@@ -363,15 +363,12 @@ func NameContainsFold(v string) predicate.User {
|
||||
func HasFriends() 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(FriendsPrimaryKey[0]).
|
||||
From(builder.Table(FriendsTable)),
|
||||
),
|
||||
step := sql.NewStep(
|
||||
sql.From(Table, FieldID),
|
||||
sql.To(FriendsTable, FieldID),
|
||||
sql.Edge(sql.M2M, false, FriendsTable, FriendsPrimaryKey...),
|
||||
)
|
||||
sql.HasNeighbors(s, step)
|
||||
},
|
||||
)
|
||||
}
|
||||
@@ -380,20 +377,16 @@ func HasFriends() predicate.User {
|
||||
func HasFriendsWith(preds ...predicate.User) predicate.User {
|
||||
return predicate.User(
|
||||
func(s *sql.Selector) {
|
||||
builder := sql.Dialect(s.Dialect())
|
||||
t1 := s.Table()
|
||||
t2 := builder.Table(Table)
|
||||
t3 := builder.Table(FriendsTable)
|
||||
t4 := builder.Select(t3.C(FriendsPrimaryKey[0])).
|
||||
From(t3).
|
||||
Join(t2).
|
||||
On(t3.C(FriendsPrimaryKey[1]), t2.C(FieldID))
|
||||
t5 := builder.Select().From(t2)
|
||||
for _, p := range preds {
|
||||
p(t5)
|
||||
}
|
||||
t4.FromSelect(t5)
|
||||
s.Where(sql.In(t1.C(FieldID), t4))
|
||||
step := sql.NewStep(
|
||||
sql.From(Table, FieldID),
|
||||
sql.To(Table, FieldID),
|
||||
sql.Edge(sql.M2M, false, FriendsTable, FriendsPrimaryKey...),
|
||||
)
|
||||
sql.HasNeighborsWith(s, step, func(s *sql.Selector) {
|
||||
for _, p := range preds {
|
||||
p(s)
|
||||
}
|
||||
})
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
@@ -56,16 +56,11 @@ func (uq *UserQuery) Order(o ...Order) *UserQuery {
|
||||
// QueryFriends chains the current query on the friends edge.
|
||||
func (uq *UserQuery) QueryFriends() *UserQuery {
|
||||
query := &UserQuery{config: uq.config}
|
||||
step := &sql.Step{}
|
||||
step.From.V = uq.sqlQuery()
|
||||
step.From.Table = user.Table
|
||||
step.From.Column = user.FieldID
|
||||
step.To.Table = user.Table
|
||||
step.To.Column = user.FieldID
|
||||
step.Edge.Rel = sql.M2M
|
||||
step.Edge.Inverse = false
|
||||
step.Edge.Table = user.FriendsTable
|
||||
step.Edge.Columns = append(step.Edge.Columns, user.FriendsPrimaryKey...)
|
||||
step := sql.NewStep(
|
||||
sql.From(user.Table, user.FieldID, uq.sqlQuery()),
|
||||
sql.To(user.Table, user.FieldID),
|
||||
sql.Edge(sql.M2M, false, user.FriendsTable, user.FriendsPrimaryKey...),
|
||||
)
|
||||
query.sql = sql.SetNeighbors(uq.driver.Dialect(), step)
|
||||
return query
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user