feat: check that table isn't joined twice
This commit is contained in:
23
.idea/workspace.xml
generated
23
.idea/workspace.xml
generated
@@ -5,28 +5,7 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="0f2c8145-9000-45fe-a871-9ff0914e0e13" name="Changes" comment="">
|
<list default="true" id="0f2c8145-9000-45fe-a871-9ff0914e0e13" name="Changes" comment="">
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/customer/CustomerScheme.vue" beforeDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/customer/customer.service.ts" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/order/OrderScheme.vue" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/order/order.service.ts" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/preptask/PreptaskScheme.vue" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/preptask/preptask.service.ts" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/producttype/ProducttypeScheme.vue" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/producttype/producttype.service.ts" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/shift/ShiftScheme.vue" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/shift/shift.service.ts" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/task/TaskScheme.vue" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/task/task.service.ts" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/teamtask/TeamtaskScheme.vue" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/teamtask/teamtask.service.ts" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/teamtype/TeamtypeScheme.vue" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/teamtype/teamtype.service.ts" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/workarea/WorkareaScheme.vue" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/workarea/workarea.service.ts" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/worker/WorkerScheme.vue" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/worker/worker.service.ts" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/workshop/WorkshopScheme.vue" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/frontend/src/workshop/workshop.service.ts" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/internal/utils/sorting.go" beforeDir="false" afterPath="$PROJECT_DIR$/internal/utils/sorting.go" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/internal/utils/sorting.go" beforeDir="false" afterPath="$PROJECT_DIR$/internal/utils/sorting.go" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import (
|
|||||||
"golang.org/x/text/message"
|
"golang.org/x/text/message"
|
||||||
"gorm.io/gorm/clause"
|
"gorm.io/gorm/clause"
|
||||||
"reflect"
|
"reflect"
|
||||||
|
"slices"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -104,7 +105,9 @@ func SortByOrder[T any](fieldsSortingOrder []SortField, entity T) ([]*T, error)
|
|||||||
|
|
||||||
joinField := strings.Join(joinPathParts, ".")
|
joinField := strings.Join(joinPathParts, ".")
|
||||||
joinTable := field.Type.Name()
|
joinTable := field.Type.Name()
|
||||||
joins = append(joins, joinTable)
|
if !slices.Contains(joins, joinTable) {
|
||||||
|
joins = append(joins, joinTable)
|
||||||
|
}
|
||||||
orderQuery = append(orderQuery, fmt.Sprintf("%s %s", joinField, item.Order))
|
orderQuery = append(orderQuery, fmt.Sprintf("%s %s", joinField, item.Order))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user