Sqlboiler仅获取所需的列

时间:2019-06-09 04:14:01

标签: sql go orm

我正在尝试遵循sqlboiler(https://github.com/volatiletech/sqlboiler)中的示例。但是找不到只获取select语句中查询的列的方法吗?

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

在此示例中,.All返回整个元组,其中包含未查询的列的空值/空值。我想知道是否有一种方法可以返回仅查询列的映射/列表(或任何相关的数据结构/格式)。谢谢!

1 个答案:

答案 0 :(得分:0)

您将获得所有字段,因为您获得了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)