Documentation ¶
Overview ¶
Package query is a library for mysql query, support for complex conditional paging queries.
Index ¶
Constants ¶
View Source
const ( // Eq equal Eq = "eq" // Neq not equal Neq = "neq" // Gt greater than Gt = "gt" // Gte greater than or equal Gte = "gte" // Lt less than Lt = "lt" // Lte less than or equal Lte = "lte" // Like fuzzy lookup Like = "like" // AND logic and AND string = "and" // OR logic or OR string = "or" )
Variables ¶
View Source
var ( // ErrNotFound record ErrNotFound = gorm.ErrRecordNotFound )
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:"columns"` // column name Exp string `json:"exp" form:"columns"` // expressions, which default to = when the value is null, have =, !=, >, >=, <, <=, like Value interface{} `json:"value" form:"columns"` // column value Logic string `json:"logic" form:"columns"` // logical type, defaults to and when the value is null, with &(and), ||(or) }
Column query info
type Conditions ¶
type Conditions struct {
Columns []Column `json:"columns" form:"columns" binding:"min=1"` // columns info
}
Conditions query conditions
func (*Conditions) ConvertToGorm ¶
func (c *Conditions) ConvertToGorm() (string, []interface{}, error)
ConvertToGorm conversion to gorm-compliant parameters based on the Columns parameter ignore the logical type of the last column, whether it is a one-column or multi-column query
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"` Size int `json:"size" form:"size" binding:"gt=0"` Sort string `json:"sort,omitempty" form:"sort" binding:""` Columns []Column `json:"columns,omitempty" form:"columns"` // not required }
Params query parameters
func (*Params) ConvertToGormConditions ¶
ConvertToGormConditions conversion to gorm-compliant parameters based on the Columns parameter ignore the logical type of the last column, whether it is a one-column or multi-column query
Click to show internal directories.
Click to hide internal directories.