Versions in this module Expand all Collapse all v0 v0.1.0 Mar 29, 2026 v0.0.1 Jun 30, 2025 Changes in this version + type DeleteQueryBuilder struct + func NewDeleteQueryBuilder(strategy interfaces.QueryBuilderStrategy) *DeleteQueryBuilder + func (qb *DeleteQueryBuilder) Build() (string, []interface{}, error) + func (qb *DeleteQueryBuilder) Delete() *DeleteQueryBuilder + func (qb *DeleteQueryBuilder) GetJoinBuilder() *query.JoinBuilder[query.DeleteBuilder] + func (qb *DeleteQueryBuilder) GetOrderByBuilder() *query.OrderByBuilder[query.DeleteBuilder] + func (qb *DeleteQueryBuilder) GetQueryBuilder() *DeleteQueryBuilder + func (qb *DeleteQueryBuilder) GetWhereBuilder() *query.WhereBuilder[query.DeleteBuilder] + func (qb *DeleteQueryBuilder) Table(table string) *DeleteQueryBuilder + func (ub *DeleteQueryBuilder) Dump() (string, []interface{}, error) + func (ub *DeleteQueryBuilder) RawSql() (string, error) + type InsertQueryBuilder struct + func NewInsertQueryBuilder(strategy interfaces.QueryBuilderStrategy) *InsertQueryBuilder + func (ib *InsertQueryBuilder) Build() (string, []interface{}, error) + func (ib *InsertQueryBuilder) Dump() (string, []interface{}, error) + func (ib *InsertQueryBuilder) Insert(data map[string]interface{}) *InsertQueryBuilder + func (ib *InsertQueryBuilder) InsertBatch(data []map[string]interface{}) *InsertQueryBuilder + func (ib *InsertQueryBuilder) InsertOrIgnore(data []map[string]interface{}) *InsertQueryBuilder + func (ib *InsertQueryBuilder) InsertUsing(columns []string, qb *SelectQueryBuilder) *InsertQueryBuilder + func (ib *InsertQueryBuilder) RawSql() (string, error) + func (ib *InsertQueryBuilder) Table(table string) *InsertQueryBuilder + func (ib *InsertQueryBuilder) UpdateOrInsert(condition map[string]interface{}, values map[string]interface{}) *InsertQueryBuilder + func (ib *InsertQueryBuilder) Upsert(data []map[string]interface{}, unique []string, updateColumns []string) *InsertQueryBuilder + type JoinClauseQueryBuilder struct + func NewJoinClauseQueryBuilder() *JoinClauseQueryBuilder + func (qb *JoinClauseQueryBuilder) On(my, condition, target string) *JoinClauseQueryBuilder + func (qb *JoinClauseQueryBuilder) OrOn(my, condition, target string) *JoinClauseQueryBuilder + func (qb *JoinClauseQueryBuilder) OrWhere(column, condition string, value interface{}) *JoinClauseQueryBuilder + func (qb *JoinClauseQueryBuilder) Where(column, condition string, value interface{}) *JoinClauseQueryBuilder + type JoinQueryBuilder struct + func NewJoinQueryBuilder[T QueryBuilderStrategy[T, C], C any](strategy interfaces.QueryBuilderStrategy) *JoinQueryBuilder[T, C] + func (b *JoinQueryBuilder[T, C]) SetParent(parent *T) *T + func (jb *JoinQueryBuilder[T, C]) JoinLateral(qb *SelectQueryBuilder, alias string) T + func (jb *JoinQueryBuilder[T, C]) JoinQuery(table string, fn func(b *JoinClauseQueryBuilder)) T + func (jb *JoinQueryBuilder[T, C]) JoinSubQuery(qb *SelectQueryBuilder, alias, my, condition, target string) T + func (jb *JoinQueryBuilder[T, C]) LeftJoinLateral(qb *SelectQueryBuilder, alias string) T + func (jb *JoinQueryBuilder[T, C]) LeftJoinQuery(table string, fn func(b *JoinClauseQueryBuilder)) T + func (jb *JoinQueryBuilder[T, C]) LeftJoinSubQuery(qb *SelectQueryBuilder, alias, my, condition, target string) T + func (jb *JoinQueryBuilder[T, C]) RightJoinQuery(table string, fn func(b *JoinClauseQueryBuilder)) T + func (jb *JoinQueryBuilder[T, C]) RightJoinSubQuery(qb *SelectQueryBuilder, alias, my, condition, target string) T + func (qb *JoinQueryBuilder[T, C]) CrossJoin(table string) T + func (qb *JoinQueryBuilder[T, C]) Join(table, my, condition, target string) T + func (qb *JoinQueryBuilder[T, C]) LeftJoin(table, my, condition, target string) T + func (qb *JoinQueryBuilder[T, C]) RightJoin(table, my, condition, target string) T + type OrderByQueryBuilder struct + func NewOrderByQueryBuilder[T QueryBuilderStrategy[T, C], C any](strategy interfaces.QueryBuilderStrategy) *OrderByQueryBuilder[T, C] + func (qb *OrderByQueryBuilder[T, C]) OrderBy(column, ascDesc string) T + func (qb *OrderByQueryBuilder[T, C]) OrderByRaw(raw string) T + func (qb *OrderByQueryBuilder[T, C]) ReOrder() T + func (qb *OrderByQueryBuilder[T, C]) SetParent(parent *T) *T + type QueryBuilderStrategy interface + GetJoinBuilder func() *query.JoinBuilder[C] + GetOrderByBuilder func() *query.OrderByBuilder[C] + GetQueryBuilder func() T + GetWhereBuilder func() *query.WhereBuilder[C] + type SelectQueryBuilder struct + Queries *[]structs.Query + func NewSelectQueryBuilder(strategy interfaces.QueryBuilderStrategy) *SelectQueryBuilder + func (qb *SelectQueryBuilder) Avg(column string) *SelectQueryBuilder + func (qb *SelectQueryBuilder) Build() (string, []interface{}, error) + func (qb *SelectQueryBuilder) Count(columns ...string) *SelectQueryBuilder + func (qb *SelectQueryBuilder) Distinct(column ...string) *SelectQueryBuilder + func (qb *SelectQueryBuilder) Dump() (string, []interface{}, error) + func (qb *SelectQueryBuilder) GetJoinBuilder() *query.JoinBuilder[query.SelectBuilder] + func (qb *SelectQueryBuilder) GetOrderByBuilder() *query.OrderByBuilder[query.SelectBuilder] + func (qb *SelectQueryBuilder) GetQuery() *structs.Query + func (qb *SelectQueryBuilder) GetQueryBuilder() *SelectQueryBuilder + func (qb *SelectQueryBuilder) GetWhereBuilder() *query.WhereBuilder[query.SelectBuilder] + func (qb *SelectQueryBuilder) GroupBy(columns ...string) *SelectQueryBuilder + func (qb *SelectQueryBuilder) Having(column, condition string, value interface{}) *SelectQueryBuilder + func (qb *SelectQueryBuilder) HavingRaw(raw string) *SelectQueryBuilder + func (qb *SelectQueryBuilder) Limit(limit int64) *SelectQueryBuilder + func (qb *SelectQueryBuilder) LockForUpdate() *SelectQueryBuilder + func (qb *SelectQueryBuilder) Max(column string) *SelectQueryBuilder + func (qb *SelectQueryBuilder) Min(column string) *SelectQueryBuilder + func (qb *SelectQueryBuilder) Offset(offset int64) *SelectQueryBuilder + func (qb *SelectQueryBuilder) OrHaving(column, condition string, value interface{}) *SelectQueryBuilder + func (qb *SelectQueryBuilder) OrHavingRaw(raw string) *SelectQueryBuilder + func (qb *SelectQueryBuilder) RawSql() (string, error) + func (qb *SelectQueryBuilder) Select(columns ...string) *SelectQueryBuilder + func (qb *SelectQueryBuilder) SelectRaw(raw string, value ...interface{}) *SelectQueryBuilder + func (qb *SelectQueryBuilder) SharedLock() *SelectQueryBuilder + func (qb *SelectQueryBuilder) Skip(offset int64) *SelectQueryBuilder + func (qb *SelectQueryBuilder) Sum(column string) *SelectQueryBuilder + func (qb *SelectQueryBuilder) Table(table string) *SelectQueryBuilder + func (qb *SelectQueryBuilder) Take(limit int64) *SelectQueryBuilder + func (qb *SelectQueryBuilder) Union(sb *SelectQueryBuilder) *SelectQueryBuilder + func (qb *SelectQueryBuilder) UnionAll(sb *SelectQueryBuilder) *SelectQueryBuilder + type UpdateQueryBuilder struct + func NewUpdateQueryBuilder(strategy interfaces.QueryBuilderStrategy) *UpdateQueryBuilder + func (qb *UpdateQueryBuilder) GetJoinBuilder() *query.JoinBuilder[query.UpdateBuilder] + func (qb *UpdateQueryBuilder) GetOrderByBuilder() *query.OrderByBuilder[query.UpdateBuilder] + func (qb *UpdateQueryBuilder) GetQueryBuilder() *UpdateQueryBuilder + func (qb *UpdateQueryBuilder) GetWhereBuilder() *query.WhereBuilder[query.UpdateBuilder] + func (ub *UpdateQueryBuilder) Build() (string, []interface{}, error) + func (ub *UpdateQueryBuilder) Dump() (string, []interface{}, error) + func (ub *UpdateQueryBuilder) RawSql() (string, error) + func (ub *UpdateQueryBuilder) Table(table string) *UpdateQueryBuilder + func (ub *UpdateQueryBuilder) Update(data map[string]interface{}) *UpdateQueryBuilder + type WhereDeleteQueryBuilder = WhereQueryBuilder[*DeleteQueryBuilder, query.DeleteBuilder] + type WhereQueryBuilder struct + func NewWhereQueryBuilder[T QueryBuilderStrategy[T, C], C any](strategy interfaces.QueryBuilderStrategy) *WhereQueryBuilder[T, C] + func (b *WhereQueryBuilder[T, C]) SetParent(parent *T) *T + func (wb *WhereQueryBuilder[T, C]) GetBuilder() *query.WhereBuilder[C] + func (wb *WhereQueryBuilder[T, C]) OrWhere(column string, condition string, value interface{}) T + func (wb *WhereQueryBuilder[T, C]) OrWhereBetween(column string, min interface{}, max interface{}) T + func (wb *WhereQueryBuilder[T, C]) OrWhereBetweenColumns(allColumns []string, column string, min string, max string) T + func (wb *WhereQueryBuilder[T, C]) OrWhereColumn(allColumns []string, column string, cond ...string) T + func (wb *WhereQueryBuilder[T, C]) OrWhereColumns(allColumns []string, columns [][]string) T + func (wb *WhereQueryBuilder[T, C]) OrWhereDate(column string, cond string, date string) T + func (wb *WhereQueryBuilder[T, C]) OrWhereDay(column string, cond string, day string) T + func (wb *WhereQueryBuilder[T, C]) OrWhereExists(fn func(q *SelectQueryBuilder)) T + func (wb *WhereQueryBuilder[T, C]) OrWhereExistsSubQuery(qb *SelectQueryBuilder) T + func (wb *WhereQueryBuilder[T, C]) OrWhereFullText(columns []string, value string, options map[string]interface{}) T + func (wb *WhereQueryBuilder[T, C]) OrWhereGroup(fn func(wb *WhereQueryBuilder[T, C])) T + func (wb *WhereQueryBuilder[T, C]) OrWhereIn(column string, values interface{}) T + func (wb *WhereQueryBuilder[T, C]) OrWhereInSubQuery(column string, qb *SelectQueryBuilder) T + func (wb *WhereQueryBuilder[T, C]) OrWhereMonth(column string, cond string, month string) T + func (wb *WhereQueryBuilder[T, C]) OrWhereNot(fn func(wb *WhereQueryBuilder[T, C])) T + func (wb *WhereQueryBuilder[T, C]) OrWhereNotBetween(column string, min interface{}, max interface{}) T + func (wb *WhereQueryBuilder[T, C]) OrWhereNotBetweenColumns(allColumns []string, column string, min string, max string) T + func (wb *WhereQueryBuilder[T, C]) OrWhereNotExists(fn func(q *SelectQueryBuilder)) T + func (wb *WhereQueryBuilder[T, C]) OrWhereNotExistsQuery(qb *SelectQueryBuilder) T + func (wb *WhereQueryBuilder[T, C]) OrWhereNotIn(column string, values interface{}) T + func (wb *WhereQueryBuilder[T, C]) OrWhereNotInSubQuery(column string, qb *SelectQueryBuilder) T + func (wb *WhereQueryBuilder[T, C]) OrWhereNotNull(column string) T + func (wb *WhereQueryBuilder[T, C]) OrWhereNull(column string) T + func (wb *WhereQueryBuilder[T, C]) OrWhereRaw(raw string, values map[string]any) T + func (wb *WhereQueryBuilder[T, C]) OrWhereSubQuery(column string, condition string, qb *SelectQueryBuilder) T + func (wb *WhereQueryBuilder[T, C]) OrWhereTime(column string, cond string, time string) T + func (wb *WhereQueryBuilder[T, C]) OrWhereYear(column string, cond string, year string) T + func (wb *WhereQueryBuilder[T, C]) SafeOrWhereRaw(raw string, values map[string]any) T + func (wb *WhereQueryBuilder[T, C]) SafeWhereRaw(raw string, values map[string]any) T + func (wb *WhereQueryBuilder[T, C]) Where(column string, condition string, value interface{}) T + func (wb *WhereQueryBuilder[T, C]) WhereAll(columns []string, condition string, value interface{}) T + func (wb *WhereQueryBuilder[T, C]) WhereAny(columns []string, condition string, value interface{}) T + func (wb *WhereQueryBuilder[T, C]) WhereBetween(column string, min interface{}, max interface{}) T + func (wb *WhereQueryBuilder[T, C]) WhereBetweenColumns(allColumns []string, column string, min string, max string) T + func (wb *WhereQueryBuilder[T, C]) WhereColumn(allColumns []string, column string, cond ...string) T + func (wb *WhereQueryBuilder[T, C]) WhereColumns(allColumns []string, columns [][]string) T + func (wb *WhereQueryBuilder[T, C]) WhereDate(column string, cond string, date string) T + func (wb *WhereQueryBuilder[T, C]) WhereDay(column string, cond string, day string) T + func (wb *WhereQueryBuilder[T, C]) WhereExists(fn func(q *SelectQueryBuilder)) T + func (wb *WhereQueryBuilder[T, C]) WhereExistsSubQuery(qb *SelectQueryBuilder) T + func (wb *WhereQueryBuilder[T, C]) WhereFullText(columns []string, value string, options map[string]interface{}) T + func (wb *WhereQueryBuilder[T, C]) WhereGroup(fn func(wqb *WhereQueryBuilder[T, C])) T + func (wb *WhereQueryBuilder[T, C]) WhereIn(column string, values interface{}) T + func (wb *WhereQueryBuilder[T, C]) WhereInSubQuery(column string, qb *SelectQueryBuilder) T + func (wb *WhereQueryBuilder[T, C]) WhereMonth(column string, cond string, month string) T + func (wb *WhereQueryBuilder[T, C]) WhereNot(fn func(wb *WhereQueryBuilder[T, C])) T + func (wb *WhereQueryBuilder[T, C]) WhereNotBetween(column string, min interface{}, max interface{}) T + func (wb *WhereQueryBuilder[T, C]) WhereNotBetweenColumns(allColumns []string, column string, min string, max string) T + func (wb *WhereQueryBuilder[T, C]) WhereNotExists(fn func(q *SelectQueryBuilder)) T + func (wb *WhereQueryBuilder[T, C]) WhereNotExistsQuery(qb *SelectQueryBuilder) T + func (wb *WhereQueryBuilder[T, C]) WhereNotIn(column string, values interface{}) T + func (wb *WhereQueryBuilder[T, C]) WhereNotInSubQuery(column string, qb *SelectQueryBuilder) T + func (wb *WhereQueryBuilder[T, C]) WhereNotNull(column string) T + func (wb *WhereQueryBuilder[T, C]) WhereNull(column string) T + func (wb *WhereQueryBuilder[T, C]) WhereRaw(raw string, values map[string]any) T + func (wb *WhereQueryBuilder[T, C]) WhereSubQuery(column string, condition string, qb *SelectQueryBuilder) T + func (wb *WhereQueryBuilder[T, C]) WhereTime(column string, cond string, time string) T + func (wb *WhereQueryBuilder[T, C]) WhereYear(column string, cond string, year string) T + type WhereSelectQueryBuilder = WhereQueryBuilder[*SelectQueryBuilder, query.SelectBuilder] + type WhereUpdateQueryBuilder = WhereQueryBuilder[*UpdateQueryBuilder, query.UpdateBuilder]