mirror of
https://github.com/beego/bee.git
synced 2024-11-25 04:40:54 +00:00
Generate Model Function GetAll filters fix
This commit is contained in:
parent
8f8166b3da
commit
da848c0104
@ -144,6 +144,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strings"
|
"strings"
|
||||||
|
"strconv"
|
||||||
{{timePkg}}
|
{{timePkg}}
|
||||||
"github.com/beego/beego/v2/client/orm"
|
"github.com/beego/beego/v2/client/orm"
|
||||||
)
|
)
|
||||||
@ -183,7 +184,21 @@ func GetAll{{modelName}}(query map[string]string, fields []string, sortby []stri
|
|||||||
for k, v := range query {
|
for k, v := range query {
|
||||||
// rewrite dot-notation to Object__Attribute
|
// rewrite dot-notation to Object__Attribute
|
||||||
k = strings.Replace(k, ".", "__", -1)
|
k = strings.Replace(k, ".", "__", -1)
|
||||||
qs = qs.Filter(k, v)
|
//value should be boolean
|
||||||
|
if v == "true" || v == "false" {
|
||||||
|
v2, _ := strconv.ParseBool(v)
|
||||||
|
qs = qs.Filter(k, v2)
|
||||||
|
//Filter contain array of values using "in" filter
|
||||||
|
} else if strings.HasSuffix(k, "__in") {
|
||||||
|
var v2 []interface{}
|
||||||
|
args := strings.Split(v, ",")
|
||||||
|
for _, v3 := range args {
|
||||||
|
v2 = append(v2, v3)
|
||||||
|
}
|
||||||
|
qs = qs.Filter(k, v2...)
|
||||||
|
} else {
|
||||||
|
qs = qs.Filter(k, v)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// order by:
|
// order by:
|
||||||
var sortFields []string
|
var sortFields []string
|
||||||
|
Loading…
Reference in New Issue
Block a user