fix(contrib/drivers/pgsql): fix insert error when data struct field has nil in PgSQL (#3679)

This commit is contained in:
oldme
2024-09-09 16:16:20 +08:00
committed by GitHub
parent 448df14860
commit 803cb5a0bc
3 changed files with 40 additions and 3 deletions

View File

@ -12,6 +12,7 @@ import (
"strings"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/text/gregex"
"github.com/gogf/gf/v2/text/gstr"
"github.com/gogf/gf/v2/util/gconv"
@ -19,9 +20,11 @@ import (
// ConvertValueForField converts value to database acceptable value.
func (d *Driver) ConvertValueForField(ctx context.Context, fieldType string, fieldValue interface{}) (interface{}, error) {
var (
fieldValueKind = reflect.TypeOf(fieldValue).Kind()
)
if g.IsNil(fieldValue) {
return d.Core.ConvertValueForField(ctx, fieldType, fieldValue)
}
var fieldValueKind = reflect.TypeOf(fieldValue).Kind()
if fieldValueKind == reflect.Slice {
// For pgsql, json or jsonb require '[]'