Przeglądaj źródła

1.增加Get方法对map参数的支持
2.修复Limit分页查询中对sqltemplate的支持

xormplus 8 lat temu
rodzic
commit
7a1a9ae05e
2 zmienionych plików z 13 dodań i 2 usunięć
  1. 1 1
      session_find.go
  2. 12 1
      session_get.go

+ 1 - 1
session_find.go

@@ -169,7 +169,7 @@ func (session *Session) find(rowsSlicePtr interface{}, condiBean ...interface{})
 					sqlStr = sql
 					args = params
 				} else {
-					sqlStr, args, _ = core.MapToSlice(sqlStr, params[0])
+					sqlStr, args, _ = core.MapToSlice(sql, params[0])
 				}
 			} else {
 				sqlStr = sql

+ 12 - 1
session_get.go

@@ -50,7 +50,18 @@ func (session *Session) get(bean interface{}) (bool, error) {
 		}
 	} else {
 		sqlStr = session.statement.RawSQL
-		args = session.statement.RawParams
+		params := session.statement.RawParams
+		i := len(params)
+		if i == 1 {
+			vv := reflect.ValueOf(params[0])
+			if vv.Kind() != reflect.Ptr || vv.Elem().Kind() != reflect.Map {
+				args = params
+			} else {
+				sqlStr, args, _ = core.MapToSlice(sqlStr, params[0])
+			}
+		} else {
+			args = params
+		}
 	}
 
 	if session.canCache() && beanValue.Elem().Kind() == reflect.Struct {