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

从 Golang Gorm 查询中获取选定的值

从 Golang Gorm 查询中获取选定的值

Go
素胚勾勒不出你 2022-06-01 12:24:02
我想在使用 gorm 进行查询后获取用户数据item := []models.User{}if config.DB.First(&item, "email = ?", email).RecordNotFound() || len(item) == 0 {    c.JSON(500, gin.H{        "status":  "error",        "message": "record not found"})    c.Abort()    return}c.JSON(200, gin.H{    "status": "success",    "data":   item,})这是我的模型type User struct {gorm.ModelStores     []Store // to show that customer can have many storesUserName   stringFullName   stringEmail      string `gorm:"unique_index"`Password   stringSocialID   stringProvider   stringAvatar     stringRole       bool `gorm:"default:0"`HaveStore  bool `gorm:"default:0"`isActivate bool `gorm:"default:0"`}我只想在从gorm查询后获取用户名,如何获取?我正在使用item.Username但是,错误表明item.UserName undefined (type []models.User has no field or method UserName)
查看完整描述

2 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

[]表示切片,这意味着item不是单个用户而是用户切片,切片没有字段,它们具有存储在其中的各个实例的元素,要访问这些元素,您可以使用索引表达式s[i])。要么做item[0].UserName要么声明item为单个用户,而不是切片。即item := model.User{}你可以使用选择器表达式 item.UserName



查看完整回答
反对 回复 2022-06-01
?
大话西游666

TA贡献1817条经验 获得超14个赞

您正试图UserName从部分用户那里得到问题。如果电子邮件是唯一的字段数据库,那么您可以只使用用户模型而不是使用用户切片。


item := models.User{}

config.DB.First(&item, "email = ?", email)

然后你可以像用户名一样访问item.UserName


查看完整回答
反对 回复 2022-06-01
  • 2 回答
  • 0 关注
  • 490 浏览
慕课专栏
更多

添加回答

举报

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