Documentation ¶
Index ¶
- Constants
- Variables
- func Limit(limit, offset int) func(tx *gorm.DB) *gorm.DB
- func OnConflict(onConflict []interface{}, doUpdates []interface{}) clause.OnConflict
- func OrderByFilter(quoteTo func(string) string, orderBy map[string]string, ...) (string, []string, error)
- func Returning(columns ...string) clause.Returning
- func Where(quoteTo func(string) string, query string, args ...interface{}) func(tx *gorm.DB) *gorm.DB
- func WhereFilter(quoteTo func(string) string, expression *ExpressionWhere, ...) (string, []interface{}, []string, error)
- type ExpressionWhere
- type FieldOrderBy
- type FieldSearchable
- type Order
- type Search
- type Type
Constants ¶
const ( OrderByAsc = "ASC" // Сортировка по возрастанию OrderByDesc = "DESC" // Сортировка по убыванию )
Константы для направлений сортировки
const ( OpIn = "in" // Операция "IN" OpNin = "nin" // Операция "NOT IN" OpPt = "pt" // Операция "IS NULL OR = ”" OpNp = "np" // Операция "IS NOT NULL AND <> ”" OpCo = "co" // Операция "LIKE %...%" OpEq = "eq" // Операция "=" OpSw = "sw" // Операция "LIKE ...%" OpEw = "ew" // Операция "LIKE %..." OpGt = ">" // Операция ">" OpLt = "<" // Операция "<" OpGte = ">=" // Операция ">=" OpLte = "<=" // Операция "<=" OpNe = "=" // Операция "=" )
Константы операций фильтрации
Variables ¶
var ( ErrFilterUnknownOperator = apperr.New("filter_unknown_operator", apperr.WithTextTranslate(i18n.ErrFilterUnknownOperator), apperr.WithCode(code.InvalidArgument)) ErrFilterInvalidOperator = apperr.New("filter_invalid_operator", apperr.WithTextTranslate(i18n.ErrFilterInvalidOperator), apperr.WithCode(code.InvalidArgument)) ErrFilterUnknownColumn = apperr.New("filter_unknown_column", apperr.WithTextTranslate(i18n.ErrFilterUnknownColumn), apperr.WithCode(code.InvalidArgument)) ErrFilterInvalidValue = apperr.New("filter_invalid_value", apperr.WithTextTranslate(i18n.ErrFilterInvalidValue), apperr.WithCode(code.InvalidArgument)) )
Ошибки для фильтрации
var (
ErrOrderByUnknownColumn = apperr.New("order_by_unknown_column", apperr.WithTextTranslate(i18n.ErrOrderByUnknownColumn), apperr.WithCode(code.InvalidArgument))
)
Functions ¶
func Limit ¶ added in v2.0.4
Limit создает функцию-замыкание для ограничения количества записей и смещения
func OnConflict ¶
func OnConflict(onConflict []interface{}, doUpdates []interface{}) clause.OnConflict
OnConflict создает конструкцию для обработки конфликтов в запросах GORM
func OrderByFilter ¶ added in v2.1.9
func OrderByFilter(quoteTo func(string) string, orderBy map[string]string, fieldOrderBy FieldOrderBy) (string, []string, error)
OrderByFilter строит SQL-запрос для сортировки на основе переданных параметров
func Returning ¶
Returning создает конструкцию для возврата указанных столбцов после выполнения операции
func Where ¶
func Where(quoteTo func(string) string, query string, args ...interface{}) func(tx *gorm.DB) *gorm.DB
Where создает функцию-замыкание для добавления условия WHERE в запрос GORM
func WhereFilter ¶
func WhereFilter(quoteTo func(string) string, expression *ExpressionWhere, fieldSearchable FieldSearchable) (string, []interface{}, []string, error)
WhereFilter строит SQL-запрос на основе выражения фильтрации
Types ¶
type ExpressionWhere ¶ added in v2.1.9
type ExpressionWhere struct { Expressions []ExpressionWhere `json:"expressions"` // Вложенные выражения для составных условий Column string `json:"column"` // Имя столбца для фильтрации Operation string `json:"operation"` // Операция фильтрации Value string `json:"value"` // Значение для фильтрации }
ExpressionWhere описывает одно выражение для фильтрации
type FieldOrderBy ¶ added in v2.1.9
FieldOrderBy представляет карту столбцов, по которым можно выполнять сортировку
type FieldSearchable ¶
FieldSearchable представляет карту столбцов с информацией о том, как они можно искать
type Order ¶ added in v2.1.9
type Order struct { Column string // Имя столбца для сортировки Join string // Имя соединения для запроса }
Order описывает информацию о сортировке для столбца