This commit is contained in:
aozhiwei 2024-08-06 13:39:08 +08:00
parent cf0959d4bd
commit 09ade85a32

View File

@ -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))
}