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"
|
||||
"reflect"
|
||||
"strings"
|
||||
"strconv"
|
||||
{{timePkg}}
|
||||
"github.com/beego/beego/v2/client/orm"
|
||||
)
|
||||
@ -183,8 +184,22 @@ func GetAll{{modelName}}(query map[string]string, fields []string, sortby []stri
|
||||
for k, v := range query {
|
||||
// rewrite dot-notation to Object__Attribute
|
||||
k = strings.Replace(k, ".", "__", -1)
|
||||
//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:
|
||||
var sortFields []string
|
||||
if len(sortby) != 0 {
|
||||
|
Loading…
Reference in New Issue
Block a user