mirror of
https://github.com/ent/ent.git
synced 2026-05-24 09:31:56 +03:00
dialect/sql: allow appending select columns to query
This commit is contained in:
committed by
Ariel Mashraki
parent
fdc5f2b7e9
commit
f5c284787f
@@ -818,6 +818,29 @@ func Relation(t *testing.T, client *ent.Client) {
|
||||
require.Equal(bar.ID, v3[1].ID)
|
||||
require.Equal(bar.Name, v3[1].Name)
|
||||
require.Equal(7.5, v3[1].Average)
|
||||
|
||||
var v4 []struct {
|
||||
ID int `sql:"id"`
|
||||
Name string `sql:"name"`
|
||||
Owner string `sql:"owner"`
|
||||
}
|
||||
client.Pet.Query().
|
||||
Where(func(s *entsql.Selector) {
|
||||
t := entsql.Table(user.Table).As(user.Table)
|
||||
s.Join(t).On(s.C(pet.OwnerColumn), t.C(user.FieldID)) // owner_id = id for edge fields.
|
||||
s.AppendSelect(entsql.As(t.C(user.FieldName), "owner"))
|
||||
}).
|
||||
Order(ent.Asc(pet.FieldID)).
|
||||
Select(pet.FieldID, pet.FieldName).
|
||||
ScanX(ctx, &v4)
|
||||
require.Equal(v4[0].Name, "a")
|
||||
require.Equal(v4[0].Owner, "foo")
|
||||
require.Equal(v4[1].Name, "b")
|
||||
require.Equal(v4[1].Owner, "foo")
|
||||
require.Equal(v4[2].Name, "c")
|
||||
require.Equal(v4[2].Owner, "bar")
|
||||
require.Equal(v4[3].Name, "d")
|
||||
require.Equal(v4[3].Owner, "bar")
|
||||
}
|
||||
|
||||
func ClearFields(t *testing.T, client *ent.Client) {
|
||||
|
||||
Reference in New Issue
Block a user