diff --git a/schema/field.go b/schema/field.go index c6f9464df..f5f634f1d 100644 --- a/schema/field.go +++ b/schema/field.go @@ -462,7 +462,7 @@ func (field *Field) setupValuerAndSetter() { default: field.ValueOf = func(ctx context.Context, v reflect.Value) (interface{}, bool) { v = reflect.Indirect(v) - if v.Kind() == reflect.Interface { + for v.Kind() == reflect.Interface { v = reflect.Indirect(v) } for _, fieldIdx := range field.StructField.Index {