Sqlboiler получить только нужные столбцы - PullRequest
0 голосов
/ 09 июня 2019

Я пытаюсь следовать примерам в sqlboiler (https://github.com/volatiletech/sqlboiler). Но не смог найти способ получить только столбцы, запрошенные в операторе select?

users, err := models.Users(
  Select("id", "name"),
  Where("age > ?", 30),
).All(ctx, db)

В этом примере .All возвращает весь кортеж, содержащий пустые / нулевые значения столбцов, которые не запрошены. Мне было интересно, если есть способ вернуть карту / список (или любую соответствующую структуру данных / формат) только запрашиваемых столбцов. Спасибо!

1 Ответ

0 голосов
/ 12 июня 2019

Вы получаете все поля, потому что вы получаете экземпляры models.User, которые имеют все поля, хотите вы их или нет.

Одна вещь, которую вы можете сделать, это написать свою собственную сокращенную User структуру и привязать к ней.

type LiteUser struct {
  ID int `boil:"id"`
  Name string `boil:"name"`
}

var users []*LiteUser
err := models.Users(
  Select("id", "name"),
  Where("age > ?", 30),
).Bind(ctx, db, &users)
...