In method now can receive slice for first params
This commit is contained in:
parent
05f86478a8
commit
f55b4f9c0f
18
statement.go
18
statement.go
|
@ -670,10 +670,22 @@ func (statement *Statement) getInc() map[string]incrParam {
|
||||||
// Generate "Where column IN (?) " statment
|
// Generate "Where column IN (?) " statment
|
||||||
func (statement *Statement) In(column string, args ...interface{}) *Statement {
|
func (statement *Statement) In(column string, args ...interface{}) *Statement {
|
||||||
k := strings.ToLower(column)
|
k := strings.ToLower(column)
|
||||||
if _, ok := statement.inColumns[k]; ok {
|
var newargs []interface{}
|
||||||
statement.inColumns[k].args = append(statement.inColumns[k].args, args...)
|
if len(args) == 1 &&
|
||||||
|
reflect.TypeOf(args[0]).Kind() == reflect.Slice {
|
||||||
|
newargs = make([]interface{}, 0)
|
||||||
|
v := reflect.ValueOf(args[0])
|
||||||
|
for i := 0; i < v.Len(); i++ {
|
||||||
|
newargs = append(newargs, v.Index(i).Interface())
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
statement.inColumns[k] = &inParam{column, args}
|
newargs = args
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, ok := statement.inColumns[k]; ok {
|
||||||
|
statement.inColumns[k].args = append(statement.inColumns[k].args, newargs...)
|
||||||
|
} else {
|
||||||
|
statement.inColumns[k] = &inParam{column, newargs}
|
||||||
}
|
}
|
||||||
return statement
|
return statement
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue