|
@@ -153,13 +153,11 @@ func WithoutBit[T genericComparableConstraint](field string, value T) GenericQue
|
|
|
|
|
|
func Inc[T genericComparableConstraint](updates map[string]T) GenericQuery {
|
|
|
return func(tx *gorm.DB) *gorm.DB {
|
|
|
- expressions := make([]string, 0, len(updates))
|
|
|
- values := make([]interface{}, 0, len(updates))
|
|
|
+ m := make(map[string]any)
|
|
|
for field, value := range updates {
|
|
|
- expressions = append(expressions, fmt.Sprintf("%s = %s + ?", field, field))
|
|
|
- values = append(values, value)
|
|
|
+ m[field] = gorm.Expr(fmt.Sprintf("%s + ?", field), value)
|
|
|
}
|
|
|
- return tx.UpdateColumns(gorm.Expr(strings.Join(expressions, ", "), values...))
|
|
|
+ return tx.UpdateColumns(m)
|
|
|
}
|
|
|
}
|
|
|
|