Gorm 查询时排除password 字段
答:官网未实现 可读性差
GORM 查询数据
First 返回一条记录,根据主键ID 正序 返回第一条记录
Find 返回多条记录,Find 返回的是一个数组
Plunk 查询一列值
take 查询一条记录
Last 返回一条记录 根据主键ID 倒序 ,返回第一条记录
条件语句
where
select
order 设置排序语句 order by
limit & offset 分页的使用使用
count
group by 分组语句
Gorm 查询时指定字段查询。如(username id 等?
config.SqlSession.Select("id", "uid", "name", "nick_name", "email", "mobile", "create_time", "user_name", "username").Where("id = ?", UserID).First(&user); res.Error != nil {
Scan的使用
Scan可以将数据存储到指定数据类型中
外键
`gorm:"foreignKey:关联表的结构体字段;references:当前表的结构体字段;`
Gorm model
定义模型(Model)与数据库表进行映射,在Gorm模型中 model 通常是正常定义的结构体,基本的go类型或他们的指针。
gorm.model 包含了ID CreatedAt UpdateAt DeleteAt 四个字段的结构体。
Association 的值为关联表的字段
Gorm select as 别名的用法
db.Table("users as u").Select("u.name as user_name")
生成的sql
SELECT users.name AS user_name FROM users as u
原生SQL
可以使用Raw 方法执行原始SQL 并将结果Scan 到模型中
Menu := model.Menu{} // 数据结构体 模型
db.Raw(`SELECT id, name, age FROM user WHERE id = ?`, 3).Scan(&userRes)
GORM中结构体标签
form标签: 将表单数据与模型进行绑定
gorm 标签: 结构体标签 模型是标准的结构体 由基本数据类型,指针等组成。
json 标签: 将go 结构体中slice 转换为json 数据的过程 编组 由 json.Marshal 函数完成