filter

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 10, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsValidDatePartString

func IsValidDatePartString(s string) bool

IsValidDatePartString 简单验证 date part 来源(与 paginator 共用逻辑可替换)

Types

type Processor

type Processor struct {
	// contains filtered or unexported fields
}

Processor 过滤处理器(GORM 版)

func NewProcessor

func NewProcessor() *Processor

NewProcessor 返回带 json codec 的 Processor

func (Processor) Contains

func (poc Processor) Contains(db *gorm.DB, field, value string) *gorm.DB

--- 字符串 / 模糊匹配 ---

func (Processor) DatePart

func (poc Processor) DatePart(db *gorm.DB, datePart, field string) *gorm.DB

DatePart 根据指定的 date part 对字段进行过滤(仅检查非 NULL)

func (Processor) EndsWith

func (poc Processor) EndsWith(db *gorm.DB, field, value string) *gorm.DB

func (Processor) Equal

func (poc Processor) Equal(db *gorm.DB, field, value string) *gorm.DB

--- 基本比较 ---

func (Processor) Exact

func (poc Processor) Exact(db *gorm.DB, field, value string) *gorm.DB

func (Processor) GT

func (poc Processor) GT(db *gorm.DB, field, value string) *gorm.DB

func (Processor) GTE

func (poc Processor) GTE(db *gorm.DB, field, value string) *gorm.DB

func (Processor) In

func (poc Processor) In(db *gorm.DB, field, value string, values []string) *gorm.DB

--- IN / NOT IN ---

func (Processor) InsensitiveContains

func (poc Processor) InsensitiveContains(db *gorm.DB, field, value string) *gorm.DB

func (Processor) InsensitiveEndsWith

func (poc Processor) InsensitiveEndsWith(db *gorm.DB, field, value string) *gorm.DB

func (Processor) InsensitiveExact

func (poc Processor) InsensitiveExact(db *gorm.DB, field, value string) *gorm.DB

func (Processor) InsensitiveRegex

func (poc Processor) InsensitiveRegex(db *gorm.DB, field, value string) *gorm.DB

func (Processor) InsensitiveStartsWith

func (poc Processor) InsensitiveStartsWith(db *gorm.DB, field, value string) *gorm.DB

func (Processor) IsNotNull

func (poc Processor) IsNotNull(db *gorm.DB, field string) *gorm.DB

func (Processor) IsNull

func (poc Processor) IsNull(db *gorm.DB, field string) *gorm.DB

--- NULL ---

func (Processor) Jsonb

func (poc Processor) Jsonb(db *gorm.DB, jsonbField, field string) *gorm.DB

Jsonb 在 WHERE 子句中直接引用 JSON 字段的子键

func (Processor) JsonbField

func (poc Processor) JsonbField(db *gorm.DB, jsonbField, field string) string

JsonbField 返回 JSONB 子字段在 SQL 中的字符串表示(可直接用于 Select)

func (Processor) JsonbFieldExpr

func (poc Processor) JsonbFieldExpr(db *gorm.DB, jsonbField, field string) (string, []interface{})

JsonbFieldExpr 返回一个表达式字符串与对应参数,可用于 Select/Order 等

func (Processor) LT

func (poc Processor) LT(db *gorm.DB, field, value string) *gorm.DB

func (Processor) LTE

func (poc Processor) LTE(db *gorm.DB, field, value string) *gorm.DB

func (Processor) NotEqual

func (poc Processor) NotEqual(db *gorm.DB, field, value string) *gorm.DB

func (Processor) NotIn

func (poc Processor) NotIn(db *gorm.DB, field, value string, values []string) *gorm.DB

func (Processor) Process

func (poc Processor) Process(db *gorm.DB, op paginationV1.Operator, field, value string, values []string) *gorm.DB

Process 将给定操作映射为对 *gorm.DB 的修改并返回修改后的 *gorm.DB

func (Processor) Range

func (poc Processor) Range(db *gorm.DB, field, value string, values []string) *gorm.DB

--- Range / Between ---

func (Processor) Regex

func (poc Processor) Regex(db *gorm.DB, field, value string) *gorm.DB

--- 正则 ---

func (Processor) Search

func (poc Processor) Search(db *gorm.DB, field, value string) *gorm.DB

Search 根据不同数据库实现全文搜索

func (Processor) StartsWith

func (poc Processor) StartsWith(db *gorm.DB, field, value string) *gorm.DB

type StructuredFilter

type StructuredFilter struct {
	// contains filtered or unexported fields
}

StructuredFilter 基于 FilterExpr 的 GORM 过滤器

func NewStructuredFilter

func NewStructuredFilter() *StructuredFilter

func (StructuredFilter) BuildSelectors

func (sf StructuredFilter) BuildSelectors(expr *paginationV1.FilterExpr) ([]func(*gorm.DB) *gorm.DB, error)

BuildSelectors 将 FilterExpr 转为一组可应用于 *gorm.DB 的闭包

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL