Documentation ¶
Index ¶
- type Base
- type Criteria
- func (c Criteria) And(cri Base) Where
- func (c Criteria) Append(cri Base) Where
- func (c Criteria) Col(col string) Criteria
- func (c Criteria) Eq(val Val) Criteria
- func (c Criteria) Gt(val Val) Criteria
- func (c Criteria) Gte(val Val) Criteria
- func (c Criteria) In(val Val) Criteria
- func (c Criteria) IsNotNull() Criteria
- func (c Criteria) IsNull() Criteria
- func (c Criteria) Lt(val Val) Criteria
- func (c Criteria) Lte(val Val) Criteria
- func (c Criteria) Ne(val Val) Criteria
- func (c Criteria) Or(cri Base) Where
- func (c Criteria) Sql() string
- type Order
- type Page
- type PageRet
- type Q
- type String
- type Val
- type Where
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Criteria ¶ added in v0.6.7
type Criteria struct {
// contains filtered or unexported fields
}
Criteria wrap a group of column, value and operator such as name = 20
Example ¶
query := C().Col("name").Eq(Literal("wubin")).Or(C().Col("school").Eq(Literal("havard"))).And(C().Col("age").Eq(Literal(18))) fmt.Println(query.Sql()) query = C().Col("name").Eq(Literal("wubin")).Or(C().Col("school").Eq(Literal("havard"))).And(C().Col("delete_at").IsNotNull()) fmt.Println(query.Sql()) query = C().Col("name").Eq(Literal("wubin")).Or(C().Col("school").In(Literal("havard"))).And(C().Col("delete_at").IsNotNull()) fmt.Println(query.Sql()) query = C().Col("name").Eq(Literal("wubin")).Or(C().Col("school").In(Literal([]string{"havard", "beijing unv"}))).And(C().Col("delete_at").IsNotNull()) fmt.Println(query.Sql()) var d int var e int d = 10 e = 5 query = C().Col("name").Eq(Literal("wubin")).Or(C().Col("age").In(Literal([]*int{&d, &e}))).And(C().Col("delete_at").IsNotNull()) fmt.Println(query.Sql()) query = C().Col("name").Ne(Literal("wubin")).Or(C().Col("create_at").Lt(Func("now()"))) fmt.Println(query.Sql()) query = C().Col("name").Ne(Literal("wubin")).Or(C().Col("create_at").Lte(Func("now()"))) fmt.Println(query.Sql()) query = C().Col("name").Ne(Literal("wubin")).Or(C().Col("create_at").Gt(Func("now()"))) fmt.Println(query.Sql()) query = C().Col("name").Ne(Literal("wubin")).Or(C().Col("create_at").Gte(Func("now()"))) fmt.Println(query.Sql()) page := Page{ Orders: []Order{ { Col: "create_at", Sort: sortenum.Desc, }, }, Offset: 20, Size: 10, } page = page.Order(Order{ Col: "score", Sort: sortenum.Asc, }) page = page.Limit(30, 5) fmt.Println(page.Sql()) pageRet := NewPageRet(page) fmt.Println(pageRet.PageNo) fmt.Println(P().Order(Order{ Col: "score", Sort: sortenum.Asc, }).Limit(20, 10).Sql()) query = C().Col("name").Eq(Literal("wubin")).Or(C().Col("school").Eq(Literal("havard"))). And(C().Col("age").Eq(Literal(18))). Or(C().Col("score").Gte(Literal(90))) fmt.Println(query.Sql()) page = P().Order(Order{ Col: "create_at", Sort: sortenum.Desc, }).Limit(0, 1) var where Q where = C().Col("project_id").Eq(Literal(1)) where = where.And(C().Col("delete_at").IsNull()) where = where.Append(page) fmt.Println(where.Sql()) where = C().Col("project_id").Eq(Literal(1)) where = where.And(C().Col("delete_at").IsNull()) where = where.Append(String("for update")) fmt.Println(where.Sql())
Output: ((`name` = 'wubin' or `school` = 'havard') and `age` = '18') ((`name` = 'wubin' or `school` = 'havard') and `delete_at` is not null) ((`name` = 'wubin' or `school` in ('havard')) and `delete_at` is not null) ((`name` = 'wubin' or `school` in ('havard','beijing unv')) and `delete_at` is not null) ((`name` = 'wubin' or `age` in ('10','5')) and `delete_at` is not null) (`name` != 'wubin' or `create_at` < now()) (`name` != 'wubin' or `create_at` <= now()) (`name` != 'wubin' or `create_at` > now()) (`name` != 'wubin' or `create_at` >= now()) order by create_at desc,score asc limit 30,5 7 order by score asc limit 20,10 (((`name` = 'wubin' or `school` = 'havard') and `age` = '18') or `score` >= '90') (`project_id` = '1' and `delete_at` is null) order by create_at desc limit 0,1 (`project_id` = '1' and `delete_at` is null) for update
func (Criteria) In ¶ added in v0.6.7
In set in operator and column value, val should be a slice type value
type Where ¶ added in v0.6.7
type Where struct {
// contains filtered or unexported fields
}
Where concat children clauses with one of logic operators And, Or, Append
Click to show internal directories.
Click to hide internal directories.