diff --git a/orm/orm.go b/orm/orm.go index 6f4b7731..5e43ae59 100644 --- a/orm/orm.go +++ b/orm/orm.go @@ -191,7 +191,7 @@ func (o *orm) InsertMulti(bulk int, mds interface{}) (int64, error) { if bulk <= 1 { for i := 0; i < sind.Len(); i++ { - ind := sind.Index(i) + ind := reflect.Indirect(sind.Index(i)) mi, _ := o.getMiInd(ind.Interface(), false) id, err := o.alias.DbBaser.Insert(o.db, mi, ind, o.alias.TZ) if err != nil { diff --git a/orm/orm_test.go b/orm/orm_test.go index fa1147f6..3b854f5c 100644 --- a/orm/orm_test.go +++ b/orm/orm_test.go @@ -2042,6 +2042,12 @@ func TestIntegerPk(t *testing.T) { throwFail(t, err) throwFail(t, AssertIs(out.Value, intPk.Value)) } + + num, err = dORM.InsertMulti(1, []*IntegerPk{&IntegerPk{ + ID: 1, Value: "ok", + }}) + throwFail(t, err) + throwFail(t, AssertIs(num, 1)) } func TestInsertAuto(t *testing.T) {