mirror of
https://github.com/gohouse/gorose.git
synced 2025-12-24 12:47:55 +08:00
add dialect for different database
This commit is contained in:
@@ -2,7 +2,7 @@ package builder
|
||||
|
||||
import "reflect"
|
||||
|
||||
func ToSlice(arg any) []any {
|
||||
func toSlice(arg any) []any {
|
||||
ref := reflect.Indirect(reflect.ValueOf(arg))
|
||||
var res []any
|
||||
switch ref.Kind() {
|
||||
|
||||
@@ -237,16 +237,16 @@ func (w *WhereClause) where(boolean string, column any, args ...any) IWhere {
|
||||
if rfv.Kind() == reflect.Slice { // in/between
|
||||
var operators = []string{"in", "not in"}
|
||||
if slices.Contains(operators, strings.ToLower(args[0].(string))) {
|
||||
val := ToSlice(args[1])
|
||||
val := toSlice(args[1])
|
||||
if len(val) > 0 {
|
||||
w.addTypeWhereIn(args[2].(string), column.(string), args[0].(string), ToSlice(args[1]))
|
||||
w.addTypeWhereIn(args[2].(string), column.(string), args[0].(string), toSlice(args[1]))
|
||||
}
|
||||
}
|
||||
operators = []string{"between", "not between"}
|
||||
if slices.Contains(operators, strings.ToLower(args[0].(string))) {
|
||||
val := ToSlice(args[1])
|
||||
val := toSlice(args[1])
|
||||
if len(val) > 0 {
|
||||
w.addTypeWhereBetween(args[2].(string), column.(string), args[0].(string), ToSlice(args[1]))
|
||||
w.addTypeWhereBetween(args[2].(string), column.(string), args[0].(string), toSlice(args[1]))
|
||||
}
|
||||
}
|
||||
} else if builder, ok := args[1].(IBuilder); ok {
|
||||
|
||||
Reference in New Issue
Block a user