From 278e2f5b1db19cb8d1cf499a1d26a09af5a5e22f Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 21 Jul 2021 10:53:07 +0800 Subject: [PATCH] Fix cacheFind --- session_find.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/session_find.go b/session_find.go index a5b884cf..2f5438fb 100644 --- a/session_find.go +++ b/session_find.go @@ -475,12 +475,13 @@ func (session *Session) cacheFind(t reflect.Type, sqlStr string, rowsSlicePtr in } else if sliceValue.Kind() == reflect.Map { var key = ids[j] keyType := sliceValue.Type().Key() + keyValue := reflect.New(keyType) var ikey interface{} if len(key) == 1 { - ikey, err = asKind(reflect.ValueOf(key[0]), keyType) - if err != nil { + if err := convertAssignV(keyValue, key[0]); err != nil { return err } + ikey = keyValue.Elem().Interface() } else { if keyType.Kind() != reflect.Slice { return errors.New("table have multiple primary keys, key is not schemas.PK or slice")