删除时,需要传入string类型的切片作为条件,实现批量删除。
codes := []string{}
//...
执行一系列操作为codes赋值
//...
_, delRolErr := session.Where("code in ?", codes ).Delete(po.User{})
上面删除语句执行时报错:converting argument $1 type: unsupported type []string, a slice of string
看了一下打印出的sql没啥问题,就是一条批量删除sql,猜测传参方式不对,对xorm不熟,最后试了一个In函数解决:
_, delErr := session.In("code", usercodes).Delete(po.User{})