mirror of
https://gitee.com/johng/gf
synced 2026-06-25 09:15:41 +08:00
新增Chunk组块结果集操作
This commit is contained in:
@ -409,3 +409,31 @@ func (md *Model) getFormattedSql() string {
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
// 组块结果集
|
||||
// @author ymrjqyy
|
||||
// @author 2018-08-13
|
||||
func (md *Model) Chunk(limit int, callback func(result Result, err error)) {
|
||||
var step = 0
|
||||
var start = md.start
|
||||
for {
|
||||
md.limit = limit
|
||||
md.start = start + step*limit
|
||||
// 查询当前组块的数据
|
||||
sqls := md.getFormattedSql()
|
||||
data, err := md.getAll(sqls, md.whereArgs...)
|
||||
if err != nil {
|
||||
callback(nil, err)
|
||||
break
|
||||
}
|
||||
if len(data) == 0 {
|
||||
break
|
||||
}
|
||||
// 回调
|
||||
callback(data, nil)
|
||||
if len(data) < limit {
|
||||
break
|
||||
}
|
||||
step++
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user