Documentation
¶
Index ¶
- type BaseBuilder
- type DebugBuilder
- type DeleteBuilder
- type InsertBuilder
- func (ib *InsertBuilder) Build() (string, []interface{}, error)
- func (ib *InsertBuilder) Insert(data map[string]interface{}) *InsertBuilder
- func (ib *InsertBuilder) InsertBatch(data []map[string]interface{}) *InsertBuilder
- func (ib *InsertBuilder) InsertOrIgnore(data []map[string]interface{}) *InsertBuilder
- func (ib *InsertBuilder) InsertUsing(columns []string, b *SelectBuilder) *InsertBuilder
- func (ib *InsertBuilder) Table(table string) *InsertBuilder
- func (ib *InsertBuilder) UpdateOrInsert(condition map[string]interface{}, values map[string]interface{}) *InsertBuilder
- func (ib *InsertBuilder) Upsert(data []map[string]interface{}, unique []string, updateColumns []string) *InsertBuilder
- type JoinBuilder
- func (b *JoinBuilder[T]) CrossJoin(table string) *T
- func (b *JoinBuilder[T]) Join(table string, my string, condition string, target string) *T
- func (b *JoinBuilder[T]) JoinLateral(q *SelectBuilder, alias string) *T
- func (b *JoinBuilder[T]) JoinQuery(table string, fn func(j *JoinClauseBuilder)) *T
- func (b *JoinBuilder[T]) JoinSub(q *SelectBuilder, alias, my, condition, target string) *T
- func (b *JoinBuilder[T]) LeftJoin(table string, my string, condition string, target string) *T
- func (b *JoinBuilder[T]) LeftJoinLateral(q *SelectBuilder, alias string) *T
- func (b *JoinBuilder[T]) LeftJoinQuery(table string, fn func(j *JoinClauseBuilder)) *T
- func (b *JoinBuilder[T]) LeftJoinSub(q *SelectBuilder, alias, my, condition, target string) *T
- func (b *JoinBuilder[T]) RightJoin(table string, my string, condition string, target string) *T
- func (b *JoinBuilder[T]) RightJoinQuery(table string, fn func(j *JoinClauseBuilder)) *T
- func (b *JoinBuilder[T]) RightJoinSub(q *SelectBuilder, alias, my, condition, target string) *T
- func (b *JoinBuilder[T]) SetParent(parent *T) *T
- type JoinClauseBuilder
- func (b *JoinClauseBuilder) On(my string, condition string, target string) *JoinClauseBuilder
- func (b *JoinClauseBuilder) OrOn(my string, condition string, target string) *JoinClauseBuilder
- func (b *JoinClauseBuilder) OrWhere(column string, condition string, value interface{}) *JoinClauseBuilder
- func (b *JoinClauseBuilder) Where(column string, condition string, value interface{}) *JoinClauseBuilder
- type OrderByBuilder
- type SelectBuilder
- func (b *SelectBuilder) Avg(column string) *SelectBuilder
- func (b *SelectBuilder) Build() (string, []interface{}, error)
- func (b *SelectBuilder) Count(columns ...string) *SelectBuilder
- func (b *SelectBuilder) Distinct(column ...string) *SelectBuilder
- func (b *SelectBuilder) GetJoinBuilder() *JoinBuilder[SelectBuilder]
- func (b *SelectBuilder) GetOrderByBuilder() *OrderByBuilder[SelectBuilder]
- func (b *SelectBuilder) GetQuery() *structs.Query
- func (b *SelectBuilder) GetStrategy() interfaces.QueryBuilderStrategy
- func (b *SelectBuilder) GetWhereBuilder() *WhereBuilder[SelectBuilder]
- func (b *SelectBuilder) GroupBy(columns ...string) *SelectBuilder
- func (b *SelectBuilder) Having(column string, condition string, value interface{}) *SelectBuilder
- func (b *SelectBuilder) HavingRaw(raw string) *SelectBuilder
- func (b *SelectBuilder) Limit(limit int64) *SelectBuilder
- func (b *SelectBuilder) LockForUpdate() *SelectBuilder
- func (b *SelectBuilder) Max(column string) *SelectBuilder
- func (b *SelectBuilder) Min(column string) *SelectBuilder
- func (b *SelectBuilder) Offset(offset int64) *SelectBuilder
- func (b *SelectBuilder) OrHaving(column string, condition string, value interface{}) *SelectBuilder
- func (b *SelectBuilder) OrHavingRaw(raw string) *SelectBuilder
- func (b *SelectBuilder) Select(columns ...string) *SelectBuilder
- func (b *SelectBuilder) SelectRaw(raw string, value ...interface{}) *SelectBuilder
- func (b *SelectBuilder) SharedLock() *SelectBuilder
- func (b *SelectBuilder) Sum(column string) *SelectBuilder
- func (b *SelectBuilder) Table(table string) *SelectBuilder
- func (b *SelectBuilder) Union(sb *SelectBuilder) *SelectBuilder
- func (b *SelectBuilder) UnionAll(sb *SelectBuilder) *SelectBuilder
- type UpdateBuilder
- func (u *UpdateBuilder) Build() (string, []interface{}, error)
- func (b *UpdateBuilder) GetQuery() *structs.UpdateQuery
- func (b *UpdateBuilder) OrderBy(column string, direction string) *UpdateBuilder
- func (b *UpdateBuilder) OrderByRaw(raw string) *UpdateBuilder
- func (b *UpdateBuilder) ReOrder() *UpdateBuilder
- func (b *UpdateBuilder) Table(table string) *UpdateBuilder
- func (b *UpdateBuilder) Update(data map[string]interface{}) *UpdateBuilder
- type WhereBuilder
- func (b *WhereBuilder[T]) GetQuery() *structs.Query
- func (b *WhereBuilder[T]) OrWhere(column string, condition string, value ...interface{}) *T
- func (b *WhereBuilder[T]) OrWhereBetween(column string, from interface{}, to interface{}) *T
- func (b *WhereBuilder[T]) OrWhereBetweenColumns(allColumns []string, column string, min string, max string) *T
- func (b *WhereBuilder[T]) OrWhereColumn(allColumns []string, column string, condition string, valueColumn string) *T
- func (b *WhereBuilder[T]) OrWhereColumns(allColumns []string, columns [][]string) *T
- func (b *WhereBuilder[T]) OrWhereDate(column string, condition string, value string) *T
- func (b *WhereBuilder[T]) OrWhereDay(column string, condition string, value string) *T
- func (b *WhereBuilder[T]) OrWhereExists(fn func(b *SelectBuilder)) *T
- func (b *WhereBuilder[T]) OrWhereExistsQuery(q *SelectBuilder) *T
- func (b *WhereBuilder[T]) OrWhereFullText(columns []string, search string, options map[string]interface{}) *T
- func (b *WhereBuilder[T]) OrWhereGroup(fn func(b *WhereBuilder[T])) *T
- func (b *WhereBuilder[T]) OrWhereIn(column string, values interface{}) *T
- func (b *WhereBuilder[T]) OrWhereInSubQuery(column string, q *SelectBuilder) *T
- func (b *WhereBuilder[T]) OrWhereJsonContains(column string, value interface{}) *T
- func (b *WhereBuilder[T]) OrWhereJsonLength(column string, args ...interface{}) *T
- func (b *WhereBuilder[T]) OrWhereMonth(column string, condition string, value string) *T
- func (b *WhereBuilder[T]) OrWhereNot(fn func(b *WhereBuilder[T])) *T
- func (b *WhereBuilder[T]) OrWhereNotBetween(column string, from interface{}, to interface{}) *T
- func (b *WhereBuilder[T]) OrWhereNotBetweenColumns(allColumns []string, column string, min string, max string) *T
- func (b *WhereBuilder[T]) OrWhereNotExists(fn func(b *SelectBuilder)) *T
- func (b *WhereBuilder[T]) OrWhereNotExistsQuery(q *SelectBuilder) *T
- func (b *WhereBuilder[T]) OrWhereNotIn(column string, values interface{}) *T
- func (b *WhereBuilder[T]) OrWhereNotInSubQuery(column string, q *SelectBuilder) *T
- func (b *WhereBuilder[T]) OrWhereNotNull(column string) *T
- func (b *WhereBuilder[T]) OrWhereNull(column string) *T
- func (b *WhereBuilder[T]) OrWhereRaw(raw string, values map[string]any) *T
- func (b *WhereBuilder[T]) OrWhereSubQuery(column string, condition string, q *SelectBuilder) *T
- func (b *WhereBuilder[T]) OrWhereTime(column string, condition string, value string) *T
- func (b *WhereBuilder[T]) OrWhereYear(column string, condition string, value string) *T
- func (b *WhereBuilder[T]) SafeOrWhereRaw(raw string, values map[string]any) *T
- func (b *WhereBuilder[T]) SafeWhereRaw(raw string, values map[string]any) *T
- func (b *WhereBuilder[T]) SetParent(parent *T) *T
- func (b *WhereBuilder[T]) Where(column string, condition string, value ...interface{}) *T
- func (b *WhereBuilder[T]) WhereAll(columns []string, condition string, value interface{}) *T
- func (b *WhereBuilder[T]) WhereAny(columns []string, condition string, value interface{}) *T
- func (b *WhereBuilder[T]) WhereBetween(column string, from interface{}, to interface{}) *T
- func (b *WhereBuilder[T]) WhereBetweenColumns(allColumns []string, column string, min string, max string) *T
- func (b *WhereBuilder[T]) WhereColumn(allColumns []string, column string, condition string, valueColumn string) *T
- func (b *WhereBuilder[T]) WhereColumns(allColumns []string, columns [][]string) *T
- func (b *WhereBuilder[T]) WhereDate(column string, condition string, value string) *T
- func (b *WhereBuilder[T]) WhereDay(column string, condition string, value string) *T
- func (b *WhereBuilder[T]) WhereExists(fn func(b *SelectBuilder)) *T
- func (b *WhereBuilder[T]) WhereExistsQuery(q *SelectBuilder) *T
- func (b *WhereBuilder[T]) WhereFullText(columns []string, search string, options map[string]interface{}) *T
- func (b *WhereBuilder[T]) WhereGroup(fn func(b *WhereBuilder[T])) *T
- func (b *WhereBuilder[T]) WhereIn(column string, values interface{}) *T
- func (b *WhereBuilder[T]) WhereInSubQuery(column string, q *SelectBuilder) *T
- func (b *WhereBuilder[T]) WhereJsonContains(column string, value interface{}) *T
- func (b *WhereBuilder[T]) WhereJsonLength(column string, args ...interface{}) *T
- func (b *WhereBuilder[T]) WhereMonth(column string, condition string, value string) *T
- func (b *WhereBuilder[T]) WhereNot(fn func(b *WhereBuilder[T])) *T
- func (b *WhereBuilder[T]) WhereNotBetween(column string, from interface{}, to interface{}) *T
- func (b *WhereBuilder[T]) WhereNotBetweenColumns(allColumns []string, column string, min string, max string) *T
- func (b *WhereBuilder[T]) WhereNotExists(fn func(b *SelectBuilder)) *T
- func (b *WhereBuilder[T]) WhereNotExistsQuery(q *SelectBuilder) *T
- func (b *WhereBuilder[T]) WhereNotIn(column string, values interface{}) *T
- func (b *WhereBuilder[T]) WhereNotInSubQuery(column string, q *SelectBuilder) *T
- func (b *WhereBuilder[T]) WhereNotNull(column string) *T
- func (b *WhereBuilder[T]) WhereNull(column string) *T
- func (b *WhereBuilder[T]) WhereRaw(raw string, values map[string]any) *T
- func (b *WhereBuilder[T]) WhereSubQuery(column string, condition string, q *SelectBuilder) *T
- func (b *WhereBuilder[T]) WhereTime(column string, condition string, value string) *T
- func (b *WhereBuilder[T]) WhereYear(column string, condition string, value string) *T
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseBuilder ¶
type DebugBuilder ¶
type DebugBuilder[T BaseBuilder, C any] struct { // contains filtered or unexported fields }
func NewDebugBuilder ¶
func NewDebugBuilder[T BaseBuilder, C any](queryBuilder T) *DebugBuilder[T, C]
func (*DebugBuilder[T, C]) Dump ¶
func (b *DebugBuilder[T, C]) Dump() (string, []interface{}, error)
Dump returns the query and values.
func (*DebugBuilder[T, C]) RawSql ¶
func (b *DebugBuilder[T, C]) RawSql() (string, error)
RawSql returns the raw SQL query.
func (*DebugBuilder[T, C]) SetChild ¶
func (b *DebugBuilder[T, C]) SetChild(child *C) *C
type DeleteBuilder ¶
type DeleteBuilder struct {
WhereBuilder[DeleteBuilder]
JoinBuilder[DeleteBuilder]
OrderByBuilder[DeleteBuilder]
// contains filtered or unexported fields
}
func NewDeleteBuilder ¶
func NewDeleteBuilder(strategy interfaces.QueryBuilderStrategy) *DeleteBuilder
func (*DeleteBuilder) Build ¶
func (d *DeleteBuilder) Build() (string, []interface{}, error)
func (*DeleteBuilder) GetQuery ¶
func (b *DeleteBuilder) GetQuery() *structs.DeleteQuery
func (*DeleteBuilder) Table ¶
func (b *DeleteBuilder) Table(table string) *DeleteBuilder
type InsertBuilder ¶
type InsertBuilder struct {
BaseBuilder
// contains filtered or unexported fields
}
func NewInsertBuilder ¶
func NewInsertBuilder(dbBuilder interfaces.QueryBuilderStrategy) *InsertBuilder
func (*InsertBuilder) Build ¶
func (ib *InsertBuilder) Build() (string, []interface{}, error)
func (*InsertBuilder) Insert ¶
func (ib *InsertBuilder) Insert(data map[string]interface{}) *InsertBuilder
func (*InsertBuilder) InsertBatch ¶
func (ib *InsertBuilder) InsertBatch(data []map[string]interface{}) *InsertBuilder
func (*InsertBuilder) InsertOrIgnore ¶
func (ib *InsertBuilder) InsertOrIgnore(data []map[string]interface{}) *InsertBuilder
func (*InsertBuilder) InsertUsing ¶
func (ib *InsertBuilder) InsertUsing(columns []string, b *SelectBuilder) *InsertBuilder
func (*InsertBuilder) Table ¶
func (ib *InsertBuilder) Table(table string) *InsertBuilder
func (*InsertBuilder) UpdateOrInsert ¶
func (ib *InsertBuilder) UpdateOrInsert(condition map[string]interface{}, values map[string]interface{}) *InsertBuilder
func (*InsertBuilder) Upsert ¶
func (ib *InsertBuilder) Upsert(data []map[string]interface{}, unique []string, updateColumns []string) *InsertBuilder
type JoinBuilder ¶
type JoinBuilder[T any] struct { Table *structs.Table Joins *structs.Joins // contains filtered or unexported fields }
func NewJoinBuilder ¶
func NewJoinBuilder[T any](dbBuilder interfaces.QueryBuilderStrategy) *JoinBuilder[T]
func (*JoinBuilder[T]) CrossJoin ¶
func (b *JoinBuilder[T]) CrossJoin(table string) *T
CrossJoin adds a CROSS JOIN clause.
func (*JoinBuilder[T]) Join ¶
func (b *JoinBuilder[T]) Join(table string, my string, condition string, target string) *T
Join adds a JOIN clause.
func (*JoinBuilder[T]) JoinLateral ¶
func (b *JoinBuilder[T]) JoinLateral(q *SelectBuilder, alias string) *T
func (*JoinBuilder[T]) JoinQuery ¶
func (b *JoinBuilder[T]) JoinQuery(table string, fn func(j *JoinClauseBuilder)) *T
func (*JoinBuilder[T]) JoinSub ¶
func (b *JoinBuilder[T]) JoinSub(q *SelectBuilder, alias, my, condition, target string) *T
func (*JoinBuilder[T]) LeftJoin ¶
func (b *JoinBuilder[T]) LeftJoin(table string, my string, condition string, target string) *T
LeftJoin adds a LEFT JOIN clause.
func (*JoinBuilder[T]) LeftJoinLateral ¶
func (b *JoinBuilder[T]) LeftJoinLateral(q *SelectBuilder, alias string) *T
func (*JoinBuilder[T]) LeftJoinQuery ¶
func (b *JoinBuilder[T]) LeftJoinQuery(table string, fn func(j *JoinClauseBuilder)) *T
func (*JoinBuilder[T]) LeftJoinSub ¶
func (b *JoinBuilder[T]) LeftJoinSub(q *SelectBuilder, alias, my, condition, target string) *T
func (*JoinBuilder[T]) RightJoin ¶
func (b *JoinBuilder[T]) RightJoin(table string, my string, condition string, target string) *T
RightJoin adds a RIGHT JOIN clause.
func (*JoinBuilder[T]) RightJoinQuery ¶
func (b *JoinBuilder[T]) RightJoinQuery(table string, fn func(j *JoinClauseBuilder)) *T
func (*JoinBuilder[T]) RightJoinSub ¶
func (b *JoinBuilder[T]) RightJoinSub(q *SelectBuilder, alias, my, condition, target string) *T
func (*JoinBuilder[T]) SetParent ¶
func (b *JoinBuilder[T]) SetParent(parent *T) *T
type JoinClauseBuilder ¶
type JoinClauseBuilder struct {
JoinClause *structs.JoinClause
}
func NewJoinClauseBuilder ¶
func NewJoinClauseBuilder() *JoinClauseBuilder
func (*JoinClauseBuilder) On ¶
func (b *JoinClauseBuilder) On(my string, condition string, target string) *JoinClauseBuilder
func (*JoinClauseBuilder) OrOn ¶
func (b *JoinClauseBuilder) OrOn(my string, condition string, target string) *JoinClauseBuilder
func (*JoinClauseBuilder) OrWhere ¶
func (b *JoinClauseBuilder) OrWhere(column string, condition string, value interface{}) *JoinClauseBuilder
func (*JoinClauseBuilder) Where ¶
func (b *JoinClauseBuilder) Where(column string, condition string, value interface{}) *JoinClauseBuilder
type OrderByBuilder ¶
type OrderByBuilder[T any] struct { Order *[]structs.Order // contains filtered or unexported fields }
func NewOrderByBuilder ¶
func NewOrderByBuilder[T any](strategy interfaces.QueryBuilderStrategy) *OrderByBuilder[T]
func (*OrderByBuilder[T]) OrderBy ¶
func (b *OrderByBuilder[T]) OrderBy(column string, ascDesc string) *T
OrderBy adds an ORDER BY clause.
func (*OrderByBuilder[T]) OrderByRaw ¶
func (b *OrderByBuilder[T]) OrderByRaw(raw string) *T
OrderByRaw adds a raw ORDER BY clause.
func (*OrderByBuilder[T]) ReOrder ¶
func (b *OrderByBuilder[T]) ReOrder() *T
ReOrder removes all ORDER BY clauses.
func (*OrderByBuilder[T]) SetParent ¶
func (b *OrderByBuilder[T]) SetParent(parent *T) *T
type SelectBuilder ¶
type SelectBuilder struct {
*WhereBuilder[SelectBuilder]
*JoinBuilder[SelectBuilder]
*OrderByBuilder[SelectBuilder]
BaseBuilder
// contains filtered or unexported fields
}
func NewSelectBuilder ¶
func NewSelectBuilder(dbBuilder interfaces.QueryBuilderStrategy) *SelectBuilder
func (*SelectBuilder) Avg ¶
func (b *SelectBuilder) Avg(column string) *SelectBuilder
Avg adds an AVG aggregate function to the query.
func (*SelectBuilder) Build ¶
func (b *SelectBuilder) Build() (string, []interface{}, error)
Build generates the SQL query string and parameter values based on the query builder's current state. It returns the generated query string and a slice of parameter values.
func (*SelectBuilder) Count ¶
func (b *SelectBuilder) Count(columns ...string) *SelectBuilder
Count adds a COUNT aggregate function to the query.
func (*SelectBuilder) Distinct ¶
func (b *SelectBuilder) Distinct(column ...string) *SelectBuilder
func (*SelectBuilder) GetJoinBuilder ¶
func (b *SelectBuilder) GetJoinBuilder() *JoinBuilder[SelectBuilder]
func (*SelectBuilder) GetOrderByBuilder ¶
func (b *SelectBuilder) GetOrderByBuilder() *OrderByBuilder[SelectBuilder]
func (*SelectBuilder) GetQuery ¶
func (b *SelectBuilder) GetQuery() *structs.Query
func (*SelectBuilder) GetStrategy ¶
func (b *SelectBuilder) GetStrategy() interfaces.QueryBuilderStrategy
func (*SelectBuilder) GetWhereBuilder ¶
func (b *SelectBuilder) GetWhereBuilder() *WhereBuilder[SelectBuilder]
func (*SelectBuilder) GroupBy ¶
func (b *SelectBuilder) GroupBy(columns ...string) *SelectBuilder
GroupBy adds a GROUP BY clause.
func (*SelectBuilder) Having ¶
func (b *SelectBuilder) Having(column string, condition string, value interface{}) *SelectBuilder
Having adds a HAVING clause with an AND operator.
func (*SelectBuilder) HavingRaw ¶
func (b *SelectBuilder) HavingRaw(raw string) *SelectBuilder
HavingRaw adds a raw HAVING clause with an AND operator.
func (*SelectBuilder) Limit ¶
func (b *SelectBuilder) Limit(limit int64) *SelectBuilder
func (*SelectBuilder) LockForUpdate ¶
func (b *SelectBuilder) LockForUpdate() *SelectBuilder
func (*SelectBuilder) Max ¶
func (b *SelectBuilder) Max(column string) *SelectBuilder
Max adds a MAX aggregate function to the query.
func (*SelectBuilder) Min ¶
func (b *SelectBuilder) Min(column string) *SelectBuilder
Min adds a MIN aggregate function to the query.
func (*SelectBuilder) Offset ¶
func (b *SelectBuilder) Offset(offset int64) *SelectBuilder
func (*SelectBuilder) OrHaving ¶
func (b *SelectBuilder) OrHaving(column string, condition string, value interface{}) *SelectBuilder
OrHaving adds a HAVING clause with an OR operator.
func (*SelectBuilder) OrHavingRaw ¶
func (b *SelectBuilder) OrHavingRaw(raw string) *SelectBuilder
OrHavingRaw adds a raw HAVING clause with an OR operator.
func (*SelectBuilder) Select ¶
func (b *SelectBuilder) Select(columns ...string) *SelectBuilder
func (*SelectBuilder) SelectRaw ¶
func (b *SelectBuilder) SelectRaw(raw string, value ...interface{}) *SelectBuilder
func (*SelectBuilder) SharedLock ¶
func (b *SelectBuilder) SharedLock() *SelectBuilder
func (*SelectBuilder) Sum ¶
func (b *SelectBuilder) Sum(column string) *SelectBuilder
Sum adds a SUM aggregate function to the query.
func (*SelectBuilder) Table ¶
func (b *SelectBuilder) Table(table string) *SelectBuilder
func (*SelectBuilder) Union ¶
func (b *SelectBuilder) Union(sb *SelectBuilder) *SelectBuilder
func (*SelectBuilder) UnionAll ¶
func (b *SelectBuilder) UnionAll(sb *SelectBuilder) *SelectBuilder
type UpdateBuilder ¶
type UpdateBuilder struct {
OrderByBuilder[UpdateBuilder]
JoinBuilder[UpdateBuilder]
WhereBuilder[UpdateBuilder]
// contains filtered or unexported fields
}
func NewUpdateBuilder ¶
func NewUpdateBuilder(strategy interfaces.QueryBuilderStrategy) *UpdateBuilder
func (*UpdateBuilder) Build ¶
func (u *UpdateBuilder) Build() (string, []interface{}, error)
func (*UpdateBuilder) GetQuery ¶
func (b *UpdateBuilder) GetQuery() *structs.UpdateQuery
func (*UpdateBuilder) OrderBy ¶
func (b *UpdateBuilder) OrderBy(column string, direction string) *UpdateBuilder
func (*UpdateBuilder) OrderByRaw ¶
func (b *UpdateBuilder) OrderByRaw(raw string) *UpdateBuilder
func (*UpdateBuilder) ReOrder ¶
func (b *UpdateBuilder) ReOrder() *UpdateBuilder
func (*UpdateBuilder) Table ¶
func (b *UpdateBuilder) Table(table string) *UpdateBuilder
func (*UpdateBuilder) Update ¶
func (b *UpdateBuilder) Update(data map[string]interface{}) *UpdateBuilder
type WhereBuilder ¶
type WhereBuilder[T any] struct { // contains filtered or unexported fields }
func NewWhereBuilder ¶
func NewWhereBuilder[T any](strategy interfaces.QueryBuilderStrategy) *WhereBuilder[T]
func (*WhereBuilder[T]) GetQuery ¶
func (b *WhereBuilder[T]) GetQuery() *structs.Query
func (*WhereBuilder[T]) OrWhere ¶
func (b *WhereBuilder[T]) OrWhere(column string, condition string, value ...interface{}) *T
OrWhere adds a where clause with OR operator
func (*WhereBuilder[T]) OrWhereBetween ¶
func (b *WhereBuilder[T]) OrWhereBetween(column string, from interface{}, to interface{}) *T
OrWhereBetween adds a where between clause with OR operator
func (*WhereBuilder[T]) OrWhereBetweenColumns ¶
func (b *WhereBuilder[T]) OrWhereBetweenColumns(allColumns []string, column string, min string, max string) *T
OrWhereBetweenColumns adds a where between columns clause with OR operator
func (*WhereBuilder[T]) OrWhereColumn ¶
func (b *WhereBuilder[T]) OrWhereColumn(allColumns []string, column string, condition string, valueColumn string) *T
OrWhereColumn adds a where column condition
func (*WhereBuilder[T]) OrWhereColumns ¶
func (b *WhereBuilder[T]) OrWhereColumns(allColumns []string, columns [][]string) *T
OrWhereColumns adds a where columns condition
func (*WhereBuilder[T]) OrWhereDate ¶
func (b *WhereBuilder[T]) OrWhereDate(column string, condition string, value string) *T
OrWhereDate adds a where date clause with OR operator
func (*WhereBuilder[T]) OrWhereDay ¶
func (b *WhereBuilder[T]) OrWhereDay(column string, condition string, value string) *T
OrWhereDay adds a where day clause with OR operator
func (*WhereBuilder[T]) OrWhereExists ¶
func (b *WhereBuilder[T]) OrWhereExists(fn func(b *SelectBuilder)) *T
OrWhereDate adds a where date clause with OR operator
func (*WhereBuilder[T]) OrWhereExistsQuery ¶
func (b *WhereBuilder[T]) OrWhereExistsQuery(q *SelectBuilder) *T
OrWhereExistsQuery adds a where exists query with OR operator
func (*WhereBuilder[T]) OrWhereFullText ¶
func (b *WhereBuilder[T]) OrWhereFullText(columns []string, search string, options map[string]interface{}) *T
OrWhereFullText adds a where full text clause with OR operator
func (*WhereBuilder[T]) OrWhereGroup ¶
func (b *WhereBuilder[T]) OrWhereGroup(fn func(b *WhereBuilder[T])) *T
OrWhereGroup adds a where group with OR operator
func (*WhereBuilder[T]) OrWhereIn ¶
func (b *WhereBuilder[T]) OrWhereIn(column string, values interface{}) *T
OrWhereIn adds a where in clause with OR operator
func (*WhereBuilder[T]) OrWhereInSubQuery ¶
func (b *WhereBuilder[T]) OrWhereInSubQuery(column string, q *SelectBuilder) *T
OrWhereIn adds a where in clause with OR operator
func (*WhereBuilder[T]) OrWhereJsonContains ¶
func (b *WhereBuilder[T]) OrWhereJsonContains(column string, value interface{}) *T
OrWhereJsonContains adds a where json contains clause with OR operator
func (*WhereBuilder[T]) OrWhereJsonLength ¶
func (b *WhereBuilder[T]) OrWhereJsonLength(column string, args ...interface{}) *T
OrWhereJsonLength adds a where json length clause with OR operator
func (*WhereBuilder[T]) OrWhereMonth ¶
func (b *WhereBuilder[T]) OrWhereMonth(column string, condition string, value string) *T
OrWhereMonth adds a where month clause with OR operator
func (*WhereBuilder[T]) OrWhereNot ¶
func (b *WhereBuilder[T]) OrWhereNot(fn func(b *WhereBuilder[T])) *T
OrWhereNot adds a not where group with OR operator
func (*WhereBuilder[T]) OrWhereNotBetween ¶
func (b *WhereBuilder[T]) OrWhereNotBetween(column string, from interface{}, to interface{}) *T
OrWhereNotBetween adds a not where between clause with OR operator
func (*WhereBuilder[T]) OrWhereNotBetweenColumns ¶
func (b *WhereBuilder[T]) OrWhereNotBetweenColumns(allColumns []string, column string, min string, max string) *T
OrWhereNotBetweenColumns adds a not where between columns clause with OR operator
func (*WhereBuilder[T]) OrWhereNotExists ¶
func (b *WhereBuilder[T]) OrWhereNotExists(fn func(b *SelectBuilder)) *T
OrWhereNotExists adds a not where date clause with OR operator
func (*WhereBuilder[T]) OrWhereNotExistsQuery ¶
func (b *WhereBuilder[T]) OrWhereNotExistsQuery(q *SelectBuilder) *T
OrWhereNotExistsQuery adds a not where exists query with OR operator
func (*WhereBuilder[T]) OrWhereNotIn ¶
func (b *WhereBuilder[T]) OrWhereNotIn(column string, values interface{}) *T
OrWhereNotIn adds a not where in clause with OR operator
func (*WhereBuilder[T]) OrWhereNotInSubQuery ¶
func (b *WhereBuilder[T]) OrWhereNotInSubQuery(column string, q *SelectBuilder) *T
OrWhereNotIn adds a not where in clause with OR operator
func (*WhereBuilder[T]) OrWhereNotNull ¶
func (b *WhereBuilder[T]) OrWhereNotNull(column string) *T
func (*WhereBuilder[T]) OrWhereNull ¶
func (b *WhereBuilder[T]) OrWhereNull(column string) *T
func (*WhereBuilder[T]) OrWhereRaw ¶
func (b *WhereBuilder[T]) OrWhereRaw(raw string, values map[string]any) *T
OrWhereRaw adds a raw SQL condition with OR operator
func (*WhereBuilder[T]) OrWhereSubQuery ¶
func (b *WhereBuilder[T]) OrWhereSubQuery(column string, condition string, q *SelectBuilder) *T
OrWhereSubQuery adds a where clause with OR operator
func (*WhereBuilder[T]) OrWhereTime ¶
func (b *WhereBuilder[T]) OrWhereTime(column string, condition string, value string) *T
OrWhereTime adds a where time clause with OR operator
func (*WhereBuilder[T]) OrWhereYear ¶
func (b *WhereBuilder[T]) OrWhereYear(column string, condition string, value string) *T
OrWhereYear adds a where year clause with OR operator
func (*WhereBuilder[T]) SafeOrWhereRaw ¶
func (b *WhereBuilder[T]) SafeOrWhereRaw(raw string, values map[string]any) *T
SafeOrWhereRaw adds a raw where clause with OR operator while enforcing parameter usage.
func (*WhereBuilder[T]) SafeWhereRaw ¶
func (b *WhereBuilder[T]) SafeWhereRaw(raw string, values map[string]any) *T
SafeWhereRaw adds a raw where clause with AND operator while enforcing parameter usage. It ignores calls with nil value maps to prevent accidental injection.
func (*WhereBuilder[T]) SetParent ¶
func (b *WhereBuilder[T]) SetParent(parent *T) *T
func (*WhereBuilder[T]) Where ¶
func (b *WhereBuilder[T]) Where(column string, condition string, value ...interface{}) *T
Where adds a where clause with AND operator
func (*WhereBuilder[T]) WhereAll ¶
func (b *WhereBuilder[T]) WhereAll(columns []string, condition string, value interface{}) *T
WhereAny adds where clauses with AND operator
func (*WhereBuilder[T]) WhereAny ¶
func (b *WhereBuilder[T]) WhereAny(columns []string, condition string, value interface{}) *T
OrWhereAny adds where clauses with OR operator
func (*WhereBuilder[T]) WhereBetween ¶
func (b *WhereBuilder[T]) WhereBetween(column string, from interface{}, to interface{}) *T
WhereBetween adds a where between clause with AND operator
func (*WhereBuilder[T]) WhereBetweenColumns ¶
func (b *WhereBuilder[T]) WhereBetweenColumns(allColumns []string, column string, min string, max string) *T
WhereBetweenColumns adds a where between columns clause with AND operator
func (*WhereBuilder[T]) WhereColumn ¶
func (b *WhereBuilder[T]) WhereColumn(allColumns []string, column string, condition string, valueColumn string) *T
WhereColumn adds a where column condition
func (*WhereBuilder[T]) WhereColumns ¶
func (b *WhereBuilder[T]) WhereColumns(allColumns []string, columns [][]string) *T
WhereColumns adds a where columns condition
func (*WhereBuilder[T]) WhereDate ¶
func (b *WhereBuilder[T]) WhereDate(column string, condition string, value string) *T
WhereDate adds a where date clause with AND operator
func (*WhereBuilder[T]) WhereDay ¶
func (b *WhereBuilder[T]) WhereDay(column string, condition string, value string) *T
WhereDay adds a where day clause with AND operator
func (*WhereBuilder[T]) WhereExists ¶
func (b *WhereBuilder[T]) WhereExists(fn func(b *SelectBuilder)) *T
WhereDate adds a where date clause with AND operator
func (*WhereBuilder[T]) WhereExistsQuery ¶
func (b *WhereBuilder[T]) WhereExistsQuery(q *SelectBuilder) *T
WhereExistsQuery adds a where exists query with AND operator
func (*WhereBuilder[T]) WhereFullText ¶
func (b *WhereBuilder[T]) WhereFullText(columns []string, search string, options map[string]interface{}) *T
WhereFullText adds a where full text clause with AND operator
func (*WhereBuilder[T]) WhereGroup ¶
func (b *WhereBuilder[T]) WhereGroup(fn func(b *WhereBuilder[T])) *T
WhereGroup adds a where group with AND operator
func (*WhereBuilder[T]) WhereIn ¶
func (b *WhereBuilder[T]) WhereIn(column string, values interface{}) *T
WhereIn adds a where in clause with AND operator
func (*WhereBuilder[T]) WhereInSubQuery ¶
func (b *WhereBuilder[T]) WhereInSubQuery(column string, q *SelectBuilder) *T
WhereIn adds a where in clause with AND operator
func (*WhereBuilder[T]) WhereJsonContains ¶
func (b *WhereBuilder[T]) WhereJsonContains(column string, value interface{}) *T
WhereJsonContains adds a where json contains clause with AND operator
func (*WhereBuilder[T]) WhereJsonLength ¶
func (b *WhereBuilder[T]) WhereJsonLength(column string, args ...interface{}) *T
WhereJsonLength adds a where json length clause with AND operator
func (*WhereBuilder[T]) WhereMonth ¶
func (b *WhereBuilder[T]) WhereMonth(column string, condition string, value string) *T
WhereMonth adds a where month clause with AND operator
func (*WhereBuilder[T]) WhereNot ¶
func (b *WhereBuilder[T]) WhereNot(fn func(b *WhereBuilder[T])) *T
WhereNot adds a not where group with AND operator
func (*WhereBuilder[T]) WhereNotBetween ¶
func (b *WhereBuilder[T]) WhereNotBetween(column string, from interface{}, to interface{}) *T
WhereNotBetween adds a not where between clause with AND operator
func (*WhereBuilder[T]) WhereNotBetweenColumns ¶
func (b *WhereBuilder[T]) WhereNotBetweenColumns(allColumns []string, column string, min string, max string) *T
WhereNotBetweenColumns adds a not where between columns clause with AND operator
func (*WhereBuilder[T]) WhereNotExists ¶
func (b *WhereBuilder[T]) WhereNotExists(fn func(b *SelectBuilder)) *T
WhereNotExists adds a not where date clause with AND operator
func (*WhereBuilder[T]) WhereNotExistsQuery ¶
func (b *WhereBuilder[T]) WhereNotExistsQuery(q *SelectBuilder) *T
WhereNotExistsQuery adds a not where exists query with AND operator
func (*WhereBuilder[T]) WhereNotIn ¶
func (b *WhereBuilder[T]) WhereNotIn(column string, values interface{}) *T
WhereNotIn adds a not where in clause with AND operator
func (*WhereBuilder[T]) WhereNotInSubQuery ¶
func (b *WhereBuilder[T]) WhereNotInSubQuery(column string, q *SelectBuilder) *T
WhereNotIn adds a not where in clause with AND operator
func (*WhereBuilder[T]) WhereNotNull ¶
func (b *WhereBuilder[T]) WhereNotNull(column string) *T
func (*WhereBuilder[T]) WhereNull ¶
func (b *WhereBuilder[T]) WhereNull(column string) *T
func (*WhereBuilder[T]) WhereRaw ¶
func (b *WhereBuilder[T]) WhereRaw(raw string, values map[string]any) *T
WhereRaw adds a raw SQL condition with AND operator
func (*WhereBuilder[T]) WhereSubQuery ¶
func (b *WhereBuilder[T]) WhereSubQuery(column string, condition string, q *SelectBuilder) *T
WhereSubQuery adds a where clause with AND operator