drsb77336
drsb77336
2019-09-16 02:17

没有gorm.Model列的Gorm查询

已采纳

How can I omit the columns that come from the gorm.Model. E.g. CreatedDate, modifiedDate.

Consider the following model:

type User struct{
    gorm.Model
    Firstname string
    Lastname string
}

Now I can select specific column with:

db.Select("Firstname").Find(&users)

However, while it excludes the Lastname column, it does not exclude the columns that come from the gorm.Model. So the result would look something like:

[{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"Firstname":"Foobar"}]

I want only the Firstname column.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • dongmao9217 dongmao9217 2年前

    You can define your User type without including gorm.Model struct

    type User struct{
        Firstname string
        Lastname string
    }
    

    Alternatively, you can use two types, one with gorm.Model and the second without it. You can use the latter when retrieving values without gorm.Model properties.

    点赞 评论 复制链接分享

相关推荐