Skip to content

Commit 03228bf

Browse files
committed
fix: allow passing a struct to SetUpdateColumns and InsertModelBuilder
1 parent 40b8b79 commit 03228bf

2 files changed

Lines changed: 3 additions & 3 deletions

File tree

sqlagent.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ func (a *SqlAgent) SelectBuilder(columns ...string) sq.SelectBuilder {
9696

9797
func (a *SqlAgent) InsertModelBuilder(into string, model interface{}, ignoreColumns ...string) sq.InsertBuilder {
9898
fieldMap := a.db.Mapper.TypeMap(reflect.TypeOf(model))
99-
valueMap := a.db.Mapper.FieldMap(reflect.ValueOf(model).Elem())
99+
valueMap := a.db.Mapper.FieldMap(reflect.Indirect(reflect.ValueOf(model)))
100100

101101
builder := sq.Insert(into)
102102

@@ -121,7 +121,7 @@ func (a *SqlAgent) InsertModelBuilder(into string, model interface{}, ignoreColu
121121

122122
func (a *SqlAgent) SetUpdateColumns(updateBuilder sq.UpdateBuilder, model interface{}, ignoreColumns ...string) sq.UpdateBuilder {
123123
fieldMap := a.db.Mapper.TypeMap(reflect.TypeOf(model))
124-
valueMap := a.db.Mapper.FieldMap(reflect.ValueOf(model).Elem())
124+
valueMap := a.db.Mapper.FieldMap(reflect.Indirect(reflect.ValueOf(model)))
125125
clauses := make(map[string]interface{})
126126

127127
for _, v := range fieldMap.Index {

sqlagent_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ func testExecSql(sa *SqlAgent, table string, t *testing.T) {
3434
t.Fatalf("ExecContext error: %v, sql: %s,%v", err, s, e)
3535
}
3636

37-
insertBuilder = sa.InsertModelBuilder(table, &tableUser{
37+
insertBuilder = sa.InsertModelBuilder(table, tableUser{
3838
Name: userName,
3939
UID: int64(uid + 1),
4040
}, "id")

0 commit comments

Comments
 (0)