fix preload issue
This commit is contained in:
parent
79a77d771d
commit
43fa18e4f6
@ -4,10 +4,23 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"reflect"
|
||||
"sort"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type searchPreloadSlice []searchPreload
|
||||
|
||||
func (s searchPreloadSlice) Len() int {
|
||||
return len(s)
|
||||
}
|
||||
func (s searchPreloadSlice) Swap(i, j int) {
|
||||
s[i], s[j] = s[j], s[i]
|
||||
}
|
||||
func (s searchPreloadSlice) Less(i, j int) bool {
|
||||
return s[i].schema < s[j].schema
|
||||
}
|
||||
|
||||
// preloadCallback used to preload associations
|
||||
func preloadCallback(scope *Scope) {
|
||||
if _, skip := scope.InstanceGet("gorm:skip_query_callback"); skip {
|
||||
@ -33,6 +46,8 @@ func preloadCallback(scope *Scope) {
|
||||
fields = scope.Fields()
|
||||
)
|
||||
|
||||
sort.Sort(searchPreloadSlice(scope.Search.preload))
|
||||
|
||||
for _, preload := range scope.Search.preload {
|
||||
var (
|
||||
preloadFields = strings.Split(preload.schema, ".")
|
||||
|
Loading…
x
Reference in New Issue
Block a user