登录
首页 >  Golang >  Go问答

Sqlboiler 仅获取所需的列

来源:stackoverflow

时间:2024-05-01 20:54:32 286浏览 收藏

从现在开始,努力学习吧!本文《Sqlboiler 仅获取所需的列》主要讲解了等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

问题内容

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

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

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


解决方案


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

好了,本文到此结束,带大家了解了《Sqlboiler 仅获取所需的列》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>