Fix cacheFind
This commit is contained in:
parent
54f54acfc3
commit
278e2f5b1d
|
@ -475,12 +475,13 @@ func (session *Session) cacheFind(t reflect.Type, sqlStr string, rowsSlicePtr in
|
||||||
} else if sliceValue.Kind() == reflect.Map {
|
} else if sliceValue.Kind() == reflect.Map {
|
||||||
var key = ids[j]
|
var key = ids[j]
|
||||||
keyType := sliceValue.Type().Key()
|
keyType := sliceValue.Type().Key()
|
||||||
|
keyValue := reflect.New(keyType)
|
||||||
var ikey interface{}
|
var ikey interface{}
|
||||||
if len(key) == 1 {
|
if len(key) == 1 {
|
||||||
ikey, err = asKind(reflect.ValueOf(key[0]), keyType)
|
if err := convertAssignV(keyValue, key[0]); err != nil {
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
ikey = keyValue.Elem().Interface()
|
||||||
} else {
|
} else {
|
||||||
if keyType.Kind() != reflect.Slice {
|
if keyType.Kind() != reflect.Slice {
|
||||||
return errors.New("table have multiple primary keys, key is not schemas.PK or slice")
|
return errors.New("table have multiple primary keys, key is not schemas.PK or slice")
|
||||||
|
|
Loading…
Reference in New Issue