| 1034 | } |
| 1035 | |
| 1036 | func (uq *UserQuery) querySpec() *sqlgraph.QuerySpec { |
| 1037 | _spec := sqlgraph.NewQuerySpec(user.Table, user.Columns, sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt)) |
| 1038 | _spec.From = uq.sql |
| 1039 | if unique := uq.ctx.Unique; unique != nil { |
| 1040 | _spec.Unique = *unique |
| 1041 | } else if uq.path != nil { |
| 1042 | _spec.Unique = true |
| 1043 | } |
| 1044 | if fields := uq.ctx.Fields; len(fields) > 0 { |
| 1045 | _spec.Node.Columns = make([]string, 0, len(fields)) |
| 1046 | _spec.Node.Columns = append(_spec.Node.Columns, user.FieldID) |
| 1047 | for i := range fields { |
| 1048 | if fields[i] != user.FieldID { |
| 1049 | _spec.Node.Columns = append(_spec.Node.Columns, fields[i]) |
| 1050 | } |
| 1051 | } |
| 1052 | if uq.withGroup != nil { |
| 1053 | _spec.Node.AddColumnOnce(user.FieldGroupUsers) |
| 1054 | } |
| 1055 | } |
| 1056 | if ps := uq.predicates; len(ps) > 0 { |
| 1057 | _spec.Predicate = func(selector *sql.Selector) { |
| 1058 | for i := range ps { |
| 1059 | ps[i](selector) |
| 1060 | } |
| 1061 | } |
| 1062 | } |
| 1063 | if limit := uq.ctx.Limit; limit != nil { |
| 1064 | _spec.Limit = *limit |
| 1065 | } |
| 1066 | if offset := uq.ctx.Offset; offset != nil { |
| 1067 | _spec.Offset = *offset |
| 1068 | } |
| 1069 | if ps := uq.order; len(ps) > 0 { |
| 1070 | _spec.Order = func(selector *sql.Selector) { |
| 1071 | for i := range ps { |
| 1072 | ps[i](selector) |
| 1073 | } |
| 1074 | } |
| 1075 | } |
| 1076 | return _spec |
| 1077 | } |
| 1078 | |
| 1079 | func (uq *UserQuery) sqlQuery(ctx context.Context) *sql.Selector { |
| 1080 | builder := sql.Dialect(uq.driver.Dialect()) |