From e4dd277b960c2a5e5045008790c1d9c74c62ffc7 Mon Sep 17 00:00:00 2001 From: ivothgle Date: Mon, 19 Aug 2024 12:00:55 +0800 Subject: [PATCH] fix(database/pgsql): fix for postgresql database array type map --- contrib/drivers/pgsql/pgsql_convert.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/contrib/drivers/pgsql/pgsql_convert.go b/contrib/drivers/pgsql/pgsql_convert.go index dc71a8cc40a..43f7fc8e210 100644 --- a/contrib/drivers/pgsql/pgsql_convert.go +++ b/contrib/drivers/pgsql/pgsql_convert.go @@ -17,6 +17,11 @@ import ( "github.com/gogf/gf/v2/util/gconv" ) +const ( + LocalTypeIntSlice gdb.LocalType = "pq.Int32Array" + LocalTypeInt64Slice gdb.LocalType = "pq.Int64Array" +) + // ConvertValueForField converts value to database acceptable value. func (d *Driver) ConvertValueForField(ctx context.Context, fieldType string, fieldValue interface{}) (interface{}, error) { var ( @@ -60,11 +65,11 @@ func (d *Driver) CheckLocalTypeForField(ctx context.Context, fieldType string, f case "_int2", "_int4": - return gdb.LocalTypeIntSlice, nil + return LocalTypeIntSlice, nil case "_int8": - return gdb.LocalTypeInt64Slice, nil + return LocalTypeInt64Slice, nil default: return d.Core.CheckLocalTypeForField(ctx, fieldType, fieldValue)