also handle float64
This commit is contained in:
12
db/db.go
12
db/db.go
@@ -100,6 +100,14 @@ func ConvertToSQLParams(input interface{}, output interface{}) {
|
|||||||
outputField.Set(reflect.ValueOf(sql.NullInt64{Int64: inputField.Int(), Valid: true}))
|
outputField.Set(reflect.ValueOf(sql.NullInt64{Int64: inputField.Int(), Valid: true}))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case reflect.TypeOf(sql.NullFloat64{}):
|
||||||
|
// Handle sql.NullFloat64
|
||||||
|
if inputField.Float() == 0 {
|
||||||
|
outputField.Set(reflect.ValueOf(sql.NullFloat64{Valid: false}))
|
||||||
|
} else {
|
||||||
|
outputField.Set(reflect.ValueOf(sql.NullFloat64{Float64: inputField.Float(), Valid: true}))
|
||||||
|
}
|
||||||
|
|
||||||
case reflect.TypeOf(""):
|
case reflect.TypeOf(""):
|
||||||
// Handle normal string fields
|
// Handle normal string fields
|
||||||
if inputField.Kind() == reflect.Ptr && inputField.IsNil() {
|
if inputField.Kind() == reflect.Ptr && inputField.IsNil() {
|
||||||
@@ -112,6 +120,10 @@ func ConvertToSQLParams(input interface{}, output interface{}) {
|
|||||||
// Handle normal int64 fields
|
// Handle normal int64 fields
|
||||||
outputField.SetInt(inputField.Int())
|
outputField.SetInt(inputField.Int())
|
||||||
|
|
||||||
|
case reflect.TypeOf(float64(0)):
|
||||||
|
// Handle normal float64 fields
|
||||||
|
outputField.SetFloat(inputField.Float())
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user