Documentation ¶
Overview ¶
Package query 是一个自定义条件查询库,支持复杂的分页查询。
Index ¶
Constants ¶
View Source
const ( // Eq 等于 Eq = "eq" // Neq 不等于 Neq = "neq" // Gt 大于 Gt = "gt" // Gte 大于等于 Gte = "gte" // Lt 小于 Lt = "lt" // Lte 小于等于 Lte = "lte" // Like 模糊查询 Like = "like" // In 包含 In = "in" // NotIN 不包含 NotIN = "notin" // IsNull 是否为空 IsNull = "isnull" // IsNotNull 是否不为空 IsNotNull = "isnotnull" // AND 逻辑与 AND string = "and" // OR 逻辑或 OR string = "or" )
Variables ¶
This section is empty.
Functions ¶
func SetMaxSize ¶
func SetMaxSize(max int)
SetMaxSize change the default maximum number of pages per page
Types ¶
type Column ¶
type Column struct { Name string `json:"name" form:"name"` // 列名 Exp string `json:"exp" form:"exp"` // 表达式,默认值为"=", 支持 =, !=, >, >=, <, <=, like, in, notin, isnull, isnotnull Value interface{} `json:"value" form:"value"` // 列值 Logic string `json:"logic" form:"logic"` // 逻辑运算符,默认为"and",支持 &(and), ||(or) }
Column 查询列信息结构体
type Conditions ¶
type Conditions struct {
Columns []Column `json:"columns" form:"columns" binding:"min=1"` // 列信息
}
Conditions 查询条件结构体
func (*Conditions) ConvertToGorm ¶
func (c *Conditions) ConvertToGorm() (string, []interface{}, error)
ConvertToGorm 将查询条件转换为 GORM 兼容的参数 忽略最后一列的逻辑类型,无论是单列还是多列查询
type Page ¶
type Page struct {
// contains filtered or unexported fields
}
Page info
func DefaultPage ¶
DefaultPage default page, number 20 per page, sorted by id backwards
type Params ¶
type Params struct { Page int `json:"page" form:"page" binding:"gte=0"` // 分页页码,默认从0开始 Limit int `json:"limit" form:"limit" binding:"gte=1"` // 每页条数,最小值为1 Sort string `json:"sort,omitempty" form:"sort" binding:""` // 排序字段 Columns []Column `json:"columns,omitempty" form:"columns"` // 查询列信息,非必填 // Deprecated: 在sunshine版本v1.8.6中建议使用Limit代替Size,未来将移除 Size int `json:"size" form:"size"` }
Params 查询参数结构体
func (*Params) ConvertToGormConditions ¶
ConvertToGormConditions 将查询条件转换为 GORM 兼容的参数 忽略最后一列的逻辑类型,无论是单列还是多列查询
Click to show internal directories.
Click to hide internal directories.