From 12d58e4d08bfe2ddf92866e6759486b5d0fcb28c Mon Sep 17 00:00:00 2001 From: John Date: Sun, 5 Jul 2020 11:54:37 +0800 Subject: [PATCH] add ScanList feature for gdb.Model --- database/gdb/gdb_func.go | 7 + database/gdb/gdb_model_select.go | 30 +++ database/gdb/gdb_type_result.go | 212 ------------------- database/gdb/gdb_type_result_scanlist.go | 245 ++++++++++++++++++++++ database/gdb/gdb_z_init_test.go | 4 +- database/gdb/gdb_z_mysql_internal_test.go | 4 +- database/gdb/gdb_z_mysql_relation_test.go | 57 ++++- 7 files changed, 334 insertions(+), 225 deletions(-) create mode 100644 database/gdb/gdb_type_result_scanlist.go diff --git a/database/gdb/gdb_func.go b/database/gdb/gdb_func.go index 032ab1b5c..9286d7c0e 100644 --- a/database/gdb/gdb_func.go +++ b/database/gdb/gdb_func.go @@ -13,6 +13,7 @@ import ( "github.com/gogf/gf/internal/empty" "github.com/gogf/gf/internal/utils" "github.com/gogf/gf/os/gtime" + "github.com/gogf/gf/util/gutil" "reflect" "regexp" "strings" @@ -56,6 +57,12 @@ var ( quoteWordReg = regexp.MustCompile(`^[a-zA-Z0-9\-_]+$`) ) +// ListItemValues is alias for gutil.ListItemValues. +// See gutil.ListItemValues. +func ListItemValues(list interface{}, key interface{}, subKey ...interface{}) (values []interface{}) { + return gutil.ListItemValues(list, key, subKey...) +} + // GetInsertOperationByOption returns proper insert option with given parameter