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

我现在在使用 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"]


慕盖茨4494581
浏览 133回答 1
1回答

红颜莎娜

你可以使用采摘var ids []stringdb.Model(&Feed{}).Where("user_id = ?", "admin1").Pluck("id", &ids)
打开App,查看更多内容
随时随地看视频慕课网APP