mirror of
https://github.com/zeromicro/go-zero.git
synced 2026-05-11 00:40:00 +08:00
fix(orm): properly handle zero value scanning for pointer destinations (#5270)
This commit is contained in:
@@ -72,7 +72,7 @@ func getTaggedFieldValueMap(v reflect.Value) (map[string]any, error) {
|
||||
func getValueInterface(value reflect.Value) (any, error) {
|
||||
switch value.Kind() {
|
||||
case reflect.Ptr:
|
||||
if !value.CanInterface() {
|
||||
if !value.CanAddr() || !value.Addr().CanInterface() {
|
||||
return nil, ErrNotReadableValue
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ func getValueInterface(value reflect.Value) (any, error) {
|
||||
value.Set(reflect.New(baseValueType))
|
||||
}
|
||||
|
||||
return value.Interface(), nil
|
||||
return value.Addr().Interface(), nil
|
||||
default:
|
||||
if !value.CanAddr() || !value.Addr().CanInterface() {
|
||||
return nil, ErrNotReadableValue
|
||||
|
||||
Reference in New Issue
Block a user