为了账号安全,请及时绑定邮箱和手机立即绑定

我如何通过 GORM 查询并仅返回 id 数组?

我如何通过 GORM 查询并仅返回 id 数组?

Go
慕盖茨4494581 2022-11-23 16:02:17

我现在在使用 Gorm 从数据库 (Postgres) 获取数组提要的 id 时遇到问题。


如何查询和返回 id 数组提要?我不知道如何在没有循环的情况下仅从结构中获取 id


feeds := []models.Feed{}

feedID := []string{}

db.Select("id").Where("user_id = ?", "admin1").Find(&feeds)

for _, feed := range feeds {

   feedID = append(feedID, feed.ID)

}

utils.PrintStruct(feeds)

这是提要模型文件:


type Feed struct {

    Model

    Status     string      `json:"status"`

    PublishAt  *time.Time  `json:"publishAt"`

    UserID     string      `json:"userID,omitempty"`

}

这是用于数据实体的模型基础数据模型:


type Model struct {

    ID        string     `json:"id" gorm:"primary_key"`

}

结果:


[

        {

                "id": "d95d4be5-b53c-4c70-aa09",

                "status": "",

                "publishAt": null,

                "userID":""

        },

        {

                "id": "84b2d46f-a24d-4854-b44d",

                "status": "",

                "publishAt": null,

                "userID":""

        }

]

但我想要这样:


["d95d4be5-b53c-4c70-aa09","84b2d46f-a24d-4854-b44d"]


查看完整描述

1 回答

?
红颜莎娜

TA贡献0条经验 获得超11个赞

你可以使用采摘


var ids []string

db.Model(&Feed{}).Where("user_id = ?", "admin1").Pluck("id", &ids)


查看完整回答
反对 回复 2022-11-23

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信