From 09ade85a32ecf5e37f72ee43838e871d110de0ad Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 6 Aug 2024 13:39:08 +0800 Subject: [PATCH] 1 --- dataset.go | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/dataset.go b/dataset.go index 17d58ba..cd3b9ec 100644 --- a/dataset.go +++ b/dataset.go @@ -167,8 +167,8 @@ func UnmarshalModelList[T any](ds *DataSet, models *[]*T) error { } func UnmarshalModel[T any](ds *DataSet, m *T) error { - mType := reflect.TypeOf(m) - mVal := reflect.ValueOf(m) + mType := reflect.TypeOf(m).Elem() + mVal := reflect.ValueOf(m).Elem() for i := 0; i < mType.NumField(); i++ { field := mType.Field(i) gormTag := field.Tag.Get("gorm") @@ -208,24 +208,24 @@ func UnmarshalModel[T any](ds *DataSet, m *T) error { mVal.Field(i).SetBool(true) } } - case reflect.Int: - case reflect.Int8: - case reflect.Int16: - case reflect.Int32: - case reflect.Int64: + case reflect.Int, + reflect.Int8, + reflect.Int16, + reflect.Int32, + reflect.Int64: { mVal.Field(i).SetInt(q5.ToInt64(fieldVal)) } - case reflect.Uint: - case reflect.Uint8: - case reflect.Uint16: - case reflect.Uint32: - case reflect.Uint64: + case reflect.Uint, + reflect.Uint8, + reflect.Uint16, + reflect.Uint32, + reflect.Uint64: { mVal.Field(i).SetUint(uint64(q5.ToInt64(fieldVal))) } - case reflect.Float32: - case reflect.Float64: + case reflect.Float32, + reflect.Float64: { mVal.Field(i).SetFloat(q5.ToFloat64(fieldVal)) }