查询
1 查找单个对象
// 获取第一条记录(主键升序)
db.First(&user)
// SELECT * FROM users ORDER BY id LIMIT 1;
// 获取一条记录,没有指定排序字段
db.Take(&user)
// SELECT * FROM users LIMIT 1;
// 获取最后一条记录(主键降序)
db.Last(&user)
// SELECT * FROM users ORDER BY id DESC LIMIT 1;
result := db.First(&user)
result.RowsAffected // 返回找到的记录数
result.Error // returns error or nil
// 检查 ErrRecordNotFound 错误
errors.Is(result.Error, gorm.ErrRecordNotFound)
2 根据主键检索
3 检索全部对象
4 条件
4.1 string条件
4.2 Struct&Map条件
4.3 指定结构体查询字段
4.4 内联条件
4.5 Not条件
4.6 Or条件
5 选择特定字段
6 排序
7 Limit&Offset
8 Group By & Having
9 Distinct
10 Joins
10.1 预加载
10.2 Join子表
11 Scan
12 相关方法
12.1 func (db *DB) First(dest interface{}, conds ...interface{}) (tx *DB)
func (db *DB) First(dest interface{}, conds ...interface{}) (tx *DB)12.2 func (db *DB) Take(dest interface{}, conds ...interface{}) (tx *DB)
func (db *DB) Take(dest interface{}, conds ...interface{}) (tx *DB)12.3 func (db *DB) Last(dest interface{}, conds ...interface{}) (tx *DB)
func (db *DB) Last(dest interface{}, conds ...interface{}) (tx *DB)12.4 func (db *DB) Find(dest interface{}, conds ...interface{}) (tx *DB)
func (db *DB) Find(dest interface{}, conds ...interface{}) (tx *DB)12.5 func (db *DB) Where(query interface{}, args ...interface{}) (tx *DB)
func (db *DB) Where(query interface{}, args ...interface{}) (tx *DB)12.6 func (db *DB) Order(value interface{}) (tx *DB)
func (db *DB) Order(value interface{}) (tx *DB)12.7 func (db *DB) Scan(dest interface{}) (tx *DB)
func (db *DB) Scan(dest interface{}) (tx *DB)最后更新于