This commit is contained in:
Lunny Xiao 2021-08-11 19:51:56 +08:00
parent d85ea67a54
commit b9a7f7e77a
No known key found for this signature in database
GPG Key ID: C3B7C91B632F738A
2 changed files with 5 additions and 1 deletions

View File

@ -325,6 +325,9 @@ func AssignValue(dv reflect.Value, src interface{}) error {
if src == nil { if src == nil {
return nil return nil
} }
if v, ok := src.(*interface{}); ok {
return AssignValue(dv, *v)
}
if dv.Type().Implements(scannerType) { if dv.Type().Implements(scannerType) {
return dv.Interface().(sql.Scanner).Scan(src) return dv.Interface().(sql.Scanner).Scan(src)

View File

@ -218,8 +218,9 @@ func (session *Session) noCacheFind(table *schemas.Table, containerValue reflect
if err := convert.AssignValue(keyValue, pk[0]); err != nil { if err := convert.AssignValue(keyValue, pk[0]); err != nil {
return err return err
} }
} else {
keyValue.Set(reflect.ValueOf(&pk))
} }
keyValue.Set(reflect.ValueOf(pk))
if isPointer { if isPointer {
containerValue.SetMapIndex(keyValue.Elem(), newValue.Elem().Addr()) containerValue.SetMapIndex(keyValue.Elem(), newValue.Elem().Addr())