diff --git a/database/gdb/gdb_model_insert.go b/database/gdb/gdb_model_insert.go index 34bb4df24..fb80b314b 100644 --- a/database/gdb/gdb_model_insert.go +++ b/database/gdb/gdb_model_insert.go @@ -78,7 +78,7 @@ func (m *Model) Data(data ...interface{}) *Model { // If the `data` parameter is defined like `xxxForDao`, // it then adds `OmitNilData` option for this condition, // which will filter all nil parameters in `data`. - if isForDaoModel(reflectInfo.OriginValue.Index(0).Type()) { + if isForDaoModel(reflectInfo.OriginValue.Index(0).Elem().Type()) { model = model.OmitNilData() model.option |= optionOmitNilDataInternal } diff --git a/database/gdb/gdb_z_mysql_model_for_dao_test.go b/database/gdb/gdb_z_mysql_model_for_dao_test.go index 80263a015..423055119 100644 --- a/database/gdb/gdb_z_mysql_model_for_dao_test.go +++ b/database/gdb/gdb_z_mysql_model_for_dao_test.go @@ -7,6 +7,7 @@ package gdb_test import ( + "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/test/gtest" "testing" ) @@ -55,13 +56,13 @@ func Test_Model_Insert_Data_LIst_ForDao(t *testing.T) { Nickname interface{} CreateTime interface{} } - data := []UserForDao{ - { + data := g.Slice{ + UserForDao{ Id: 1, Passport: "user_1", Password: "pass_1", }, - { + UserForDao{ Id: 2, Passport: "user_2", Password: "pass_2",