1
This commit is contained in:
parent
cf0959d4bd
commit
09ade85a32
28
dataset.go
28
dataset.go
@ -167,8 +167,8 @@ func UnmarshalModelList[T any](ds *DataSet, models *[]*T) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func UnmarshalModel[T any](ds *DataSet, m *T) error {
|
func UnmarshalModel[T any](ds *DataSet, m *T) error {
|
||||||
mType := reflect.TypeOf(m)
|
mType := reflect.TypeOf(m).Elem()
|
||||||
mVal := reflect.ValueOf(m)
|
mVal := reflect.ValueOf(m).Elem()
|
||||||
for i := 0; i < mType.NumField(); i++ {
|
for i := 0; i < mType.NumField(); i++ {
|
||||||
field := mType.Field(i)
|
field := mType.Field(i)
|
||||||
gormTag := field.Tag.Get("gorm")
|
gormTag := field.Tag.Get("gorm")
|
||||||
@ -208,24 +208,24 @@ func UnmarshalModel[T any](ds *DataSet, m *T) error {
|
|||||||
mVal.Field(i).SetBool(true)
|
mVal.Field(i).SetBool(true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case reflect.Int:
|
case reflect.Int,
|
||||||
case reflect.Int8:
|
reflect.Int8,
|
||||||
case reflect.Int16:
|
reflect.Int16,
|
||||||
case reflect.Int32:
|
reflect.Int32,
|
||||||
case reflect.Int64:
|
reflect.Int64:
|
||||||
{
|
{
|
||||||
mVal.Field(i).SetInt(q5.ToInt64(fieldVal))
|
mVal.Field(i).SetInt(q5.ToInt64(fieldVal))
|
||||||
}
|
}
|
||||||
case reflect.Uint:
|
case reflect.Uint,
|
||||||
case reflect.Uint8:
|
reflect.Uint8,
|
||||||
case reflect.Uint16:
|
reflect.Uint16,
|
||||||
case reflect.Uint32:
|
reflect.Uint32,
|
||||||
case reflect.Uint64:
|
reflect.Uint64:
|
||||||
{
|
{
|
||||||
mVal.Field(i).SetUint(uint64(q5.ToInt64(fieldVal)))
|
mVal.Field(i).SetUint(uint64(q5.ToInt64(fieldVal)))
|
||||||
}
|
}
|
||||||
case reflect.Float32:
|
case reflect.Float32,
|
||||||
case reflect.Float64:
|
reflect.Float64:
|
||||||
{
|
{
|
||||||
mVal.Field(i).SetFloat(q5.ToFloat64(fieldVal))
|
mVal.Field(i).SetFloat(q5.ToFloat64(fieldVal))
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user