query

package
v0.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 8, 2022 License: Apache-2.0 Imports: 16 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Builder

type Builder struct {
	Conn     *Connection
	Query    *dbal.Query
	Mode     string
	Database string
	Schema   string
	Grammar  dbal.Grammar
}

Builder the dbal query builder

func NewBuilder

func NewBuilder(driver string, dsn string) *Builder

NewBuilder create a new schema interface using the given driver and DSN

func UseBuilder added in v0.5.1

func UseBuilder(conn *Connection) *Builder

UseBuilder create a new schema interface using the given connection

func (*Builder) Avg added in v0.5.1

func (builder *Builder) Avg(columns ...interface{}) (xun.N, error)

Avg Retrieve the average of the values of a given column.

func (*Builder) Builder added in v0.5.1

func (builder *Builder) Builder() *Builder

Builder get the query builder instance

func (*Builder) Chunk added in v0.5.1

func (builder *Builder) Chunk(size int, callback func(items []interface{}, page int) error, v ...interface{}) error

Chunk Retrieves a small chunk of results at a time and feeds each chunk into a closure for processing.

func (*Builder) ChunkByID added in v0.5.1

func (builder *Builder) ChunkByID()

ChunkByID chunk the results of a query by comparing IDs.

func (*Builder) Clone added in v0.5.1

func (builder *Builder) Clone() Query

Clone create a new builder instance with current builder

func (*Builder) Count added in v0.5.1

func (builder *Builder) Count(columns ...interface{}) (int64, error)

Count Retrieve the "count" result of the query.

func (*Builder) CrossJoin added in v0.5.1

func (builder *Builder) CrossJoin(table string) Query

CrossJoin Add a "cross join" clause to the query.

func (*Builder) CrossJoinSub added in v0.5.1

func (builder *Builder) CrossJoinSub(qb interface{}, alias string) Query

CrossJoinSub Add a subquery cross join to the query.

func (*Builder) DB added in v0.5.1

func (builder *Builder) DB(usewrite ...bool) *sqlx.DB

DB Get the sqlx.DB pointer instance

func (*Builder) DD added in v0.5.1

func (builder *Builder) DD()

DD Die and dump the current SQL and bindings.

func (*Builder) Decrement added in v0.5.1

func (builder *Builder) Decrement(column interface{}, amount interface{}, extra ...interface{}) (int64, error)

Decrement Decrement a column's value by a given amount.

func (*Builder) Delete added in v0.5.1

func (builder *Builder) Delete() (int64, error)

Delete Delete records from the database.

func (*Builder) Distinct added in v0.5.1

func (builder *Builder) Distinct(args ...interface{}) Query

Distinct Force the query to only return distinct results.

func (*Builder) DoesntExist added in v0.5.1

func (builder *Builder) DoesntExist() (bool, error)

DoesntExist Determine if no rows exist for the current query.

func (*Builder) Dump added in v0.5.1

func (builder *Builder) Dump()

Dump Dump the current SQL and bindings.

func (*Builder) Exists added in v0.5.1

func (builder *Builder) Exists() (bool, error)

Exists Determine if any rows exist for the current query.

func (*Builder) Find added in v0.5.1

func (builder *Builder) Find(id interface{}, args ...interface{}) (xun.R, error)

Find Execute a query for a single record by ID.

func (*Builder) First added in v0.5.1

func (builder *Builder) First(v ...interface{}) (xun.R, error)

First Execute the query and get the first result.

func (*Builder) From added in v0.5.1

func (builder *Builder) From(from string) Query

From set the table which the query is targeting.

func (*Builder) FromRaw added in v0.5.1

func (builder *Builder) FromRaw(sql string, bindings ...interface{}) Query

FromRaw Add a raw from clause to the query.

func (*Builder) FromSub added in v0.5.1

func (builder *Builder) FromSub(qb interface{}, as string) Query

FromSub Makes "from" fetch from a subquery.

func (*Builder) Get added in v0.5.1

func (builder *Builder) Get(v ...interface{}) ([]xun.R, error)

Get Execute the query as a "select" statement.

func (*Builder) GetBindings added in v0.5.1

func (builder *Builder) GetBindings() []interface{}

GetBindings Get the current query value bindings in a flattened array.

func (*Builder) GroupBy added in v0.5.1

func (builder *Builder) GroupBy(groups ...interface{}) Query

GroupBy Add a "group by" clause to the query.

func (*Builder) GroupByRaw added in v0.5.1

func (builder *Builder) GroupByRaw(expression string, bindings ...interface{}) Query

GroupByRaw Add a raw groupBy clause to the query.

func (*Builder) Having added in v0.5.1

func (builder *Builder) Having(column interface{}, args ...interface{}) Query

Having Add a "having" clause to the query.

func (*Builder) HavingBetween added in v0.5.1

func (builder *Builder) HavingBetween(column interface{}, values interface{}, args ...interface{}) Query

HavingBetween Add a "having between " clause to the query.

func (*Builder) HavingRaw added in v0.5.1

func (builder *Builder) HavingRaw(sql string, bindings ...interface{}) Query

HavingRaw Add a raw having clause to the query.

func (*Builder) InRandomOrder added in v0.5.1

func (builder *Builder) InRandomOrder()

InRandomOrder Put the query's results in random order. @todo

func (*Builder) Increment added in v0.5.1

func (builder *Builder) Increment(column interface{}, amount interface{}, extra ...interface{}) (int64, error)

Increment Increment a column's value by a given amount.

func (*Builder) Insert added in v0.5.1

func (builder *Builder) Insert(v interface{}, columns ...interface{}) error

Insert Insert new records into the database.

func (*Builder) InsertGetID added in v0.5.1

func (builder *Builder) InsertGetID(v interface{}, args ...interface{}) (int64, error)

InsertGetID Insert a new record and get the value of the primary key.

func (*Builder) InsertOrIgnore added in v0.5.1

func (builder *Builder) InsertOrIgnore(v interface{}, columns ...interface{}) (int64, error)

InsertOrIgnore Insert new records into the database while ignoring errors.

func (*Builder) InsertUsing added in v0.5.1

func (builder *Builder) InsertUsing(qb interface{}, columns ...interface{}) (int64, error)

InsertUsing Insert new records into the table using a subquery.

func (*Builder) IsRead added in v0.5.1

func (builder *Builder) IsRead() bool

IsRead Determine if the read connection is read.

func (*Builder) IsWrite added in v0.5.1

func (builder *Builder) IsWrite() bool

IsWrite Determine if the current connection is write.

func (*Builder) Join

func (builder *Builder) Join(table string, first interface{}, args ...interface{}) Query

Join Add a join clause to the query.

func (*Builder) JoinRaw added in v0.8.0

func (builder *Builder) JoinRaw(sql string, bindings ...interface{}) Query

JoinRaw Add a join sql clause to the query.

func (*Builder) JoinSub added in v0.5.1

func (builder *Builder) JoinSub(qb interface{}, alias string, first interface{}, args ...interface{}) Query

JoinSub Add a subquery join clause to the query.

func (*Builder) JoinWhere added in v0.5.1

func (builder *Builder) JoinWhere()

JoinWhere Add a "join where" clause to the query.

func (*Builder) Latest added in v0.5.1

func (builder *Builder) Latest()

Latest Add an "order by" clause for a timestamp to the query. @todo

func (*Builder) LeftJoin added in v0.5.1

func (builder *Builder) LeftJoin(table string, first interface{}, args ...interface{}) Query

LeftJoin Add a left join to the query.

func (*Builder) LeftJoinSub added in v0.5.1

func (builder *Builder) LeftJoinSub(qb interface{}, alias string, first interface{}, args ...interface{}) Query

LeftJoinSub Add a subquery left join to the query.

func (*Builder) LeftJoinWhere added in v0.5.1

func (builder *Builder) LeftJoinWhere()

LeftJoinWhere Add a "join where" clause to the query.

func (*Builder) Limit added in v0.5.1

func (builder *Builder) Limit(value int) Query

Limit Set the "limit" value of the query.

func (*Builder) Lock added in v0.5.1

func (builder *Builder) Lock(value interface{}) Query

Lock Lock the selected rows in the table.

func (*Builder) LockForUpdate added in v0.5.1

func (builder *Builder) LockForUpdate() Query

LockForUpdate Lock the selected rows in the table for updating.

func (*Builder) Max added in v0.5.1

func (builder *Builder) Max(columns ...interface{}) (xun.N, error)

Max Retrieve the maximum value of a given column.

func (*Builder) Min added in v0.5.1

func (builder *Builder) Min(columns ...interface{}) (xun.N, error)

Min Retrieve the minimum value of a given column.

func (*Builder) MustAvg added in v0.5.1

func (builder *Builder) MustAvg(columns ...interface{}) xun.N

MustAvg Retrieve the average of the values of a given column.

func (*Builder) MustChunk added in v0.5.1

func (builder *Builder) MustChunk(size int, callback func(items []interface{}, page int) error, v ...interface{})

MustChunk Retrieves a small chunk of results at a time and feeds each chunk into a closure for processing.

func (*Builder) MustChunkByID added in v0.5.1

func (builder *Builder) MustChunkByID()

MustChunkByID chunk the results of a query by comparing IDs.

func (*Builder) MustCount added in v0.5.1

func (builder *Builder) MustCount(columns ...interface{}) int64

MustCount Retrieve the "count" result of the query.

func (*Builder) MustDecrement added in v0.5.1

func (builder *Builder) MustDecrement(column interface{}, amount interface{}, extra ...interface{}) int64

MustDecrement Decrement a column's value by a given amount.

func (*Builder) MustDelete added in v0.5.1

func (builder *Builder) MustDelete() int64

MustDelete Delete records from the database.

func (*Builder) MustDoesntExist added in v0.5.1

func (builder *Builder) MustDoesntExist() bool

MustDoesntExist Determine if no rows exist for the current query.

func (*Builder) MustExists added in v0.5.1

func (builder *Builder) MustExists() bool

MustExists Determine if any rows exist for the current query.

func (*Builder) MustFind added in v0.5.1

func (builder *Builder) MustFind(id interface{}, args ...interface{}) xun.R

MustFind Execute a query for a single record by ID.

func (*Builder) MustFirst added in v0.5.1

func (builder *Builder) MustFirst(v ...interface{}) xun.R

MustFirst Execute the query and get the first result.

func (*Builder) MustGet added in v0.5.1

func (builder *Builder) MustGet(v ...interface{}) []xun.R

MustGet Execute the query as a "select" statement.

func (*Builder) MustIncrement added in v0.5.1

func (builder *Builder) MustIncrement(column interface{}, amount interface{}, extra ...interface{}) int64

MustIncrement Increment a column's value by a given amount.

func (*Builder) MustInsert added in v0.5.1

func (builder *Builder) MustInsert(v interface{}, columns ...interface{})

MustInsert Insert new records into the database.

func (*Builder) MustInsertGetID added in v0.5.1

func (builder *Builder) MustInsertGetID(v interface{}, args ...interface{}) int64

MustInsertGetID Insert a new record and get the value of the primary key.

func (*Builder) MustInsertOrIgnore added in v0.5.1

func (builder *Builder) MustInsertOrIgnore(v interface{}, columns ...interface{}) int64

MustInsertOrIgnore Insert new records into the database while ignoring errors.

func (*Builder) MustInsertUsing added in v0.5.1

func (builder *Builder) MustInsertUsing(qb interface{}, columns ...interface{}) int64

MustInsertUsing Insert new records into the table using a subquery.

func (*Builder) MustMax added in v0.5.1

func (builder *Builder) MustMax(columns ...interface{}) xun.N

MustMax Retrieve the maximum value of a given column.

func (*Builder) MustMin added in v0.5.1

func (builder *Builder) MustMin(columns ...interface{}) xun.N

MustMin Retrieve the minimum value of a given column.

func (*Builder) MustPaginate added in v0.5.1

func (builder *Builder) MustPaginate(pageSize int, page int, v ...interface{}) xun.P

MustPaginate paginate the given query into a simple paginator.

func (*Builder) MustPluck added in v0.5.1

func (builder *Builder) MustPluck()

MustPluck Get an array with the values of a given column.

func (*Builder) MustSum added in v0.5.1

func (builder *Builder) MustSum(columns ...interface{}) xun.N

MustSum Retrieve the sum of the values of a given column.

func (*Builder) MustTruncate added in v0.5.1

func (builder *Builder) MustTruncate()

MustTruncate Run a truncate statement on the table.

func (*Builder) MustUpdate added in v0.5.1

func (builder *Builder) MustUpdate(v interface{}) int64

MustUpdate Update records in the database.

func (*Builder) MustUpdateOrInsert added in v0.5.1

func (builder *Builder) MustUpdateOrInsert(attributes interface{}, values ...interface{}) bool

MustUpdateOrInsert Insert or update a record matching the attributes, and fill it with values.

func (*Builder) MustUpsert added in v0.5.1

func (builder *Builder) MustUpsert(values interface{}, uniqueBy interface{}, update interface{}, columns ...interface{}) int64

MustUpsert new records or update the existing ones.

func (*Builder) MustValue added in v0.5.1

func (builder *Builder) MustValue(column string, v ...interface{}) interface{}

MustValue Get a single column's value from the first result of a query.

func (*Builder) New added in v0.5.1

func (builder *Builder) New() Query

New create a new builder instance with current builder

func (*Builder) NewBuilder added in v0.5.1

func (builder *Builder) NewBuilder() *Builder

NewBuilder create a new builder instance with current builder

func (*Builder) Offset added in v0.5.1

func (builder *Builder) Offset(value int) Query

Offset Set the "offset" value of the query.

func (*Builder) Oldest added in v0.5.1

func (builder *Builder) Oldest()

Oldest Add an "order by" clause for a timestamp to the query. @todo

func (*Builder) On added in v0.5.1

func (builder *Builder) On(first interface{}, args ...interface{}) Query

On Add an "on" clause to the join.

func (*Builder) OrHaving added in v0.5.1

func (builder *Builder) OrHaving(column interface{}, args ...interface{}) Query

OrHaving Add an "or having" clause to the query.

func (*Builder) OrHavingBetween added in v0.5.1

func (builder *Builder) OrHavingBetween(column interface{}, values interface{}, args ...interface{}) Query

OrHavingBetween Add a "having between " clause to the query.

func (*Builder) OrHavingRaw added in v0.5.1

func (builder *Builder) OrHavingRaw(sql string, bindings ...interface{}) Query

OrHavingRaw Add a raw or having clause to the query.

func (*Builder) OrOn added in v0.5.1

func (builder *Builder) OrOn(first interface{}, args ...interface{}) Query

OrOn Add an "or on" clause to the join.

func (*Builder) OrWhere added in v0.5.1

func (builder *Builder) OrWhere(column interface{}, args ...interface{}) Query

OrWhere Add an "or where" clause to the query.

func (*Builder) OrWhereBetween added in v0.5.1

func (builder *Builder) OrWhereBetween(column interface{}, values interface{}) Query

OrWhereBetween Add an or where between statement to the query.

func (*Builder) OrWhereColumn added in v0.5.1

func (builder *Builder) OrWhereColumn(first interface{}, args ...interface{}) Query

OrWhereColumn Add an "or where" clause comparing two columns to the query.

func (*Builder) OrWhereDate added in v0.5.1

func (builder *Builder) OrWhereDate(column interface{}, args ...interface{}) Query

OrWhereDate Add an "or where date" statement to the query.

func (*Builder) OrWhereDay added in v0.5.1

func (builder *Builder) OrWhereDay(column interface{}, args ...interface{}) Query

OrWhereDay Add an "or where day" statement to the query.

func (*Builder) OrWhereExists added in v0.5.1

func (builder *Builder) OrWhereExists(closure func(qb Query)) Query

OrWhereExists Add an or exists clause to the query.

func (*Builder) OrWhereIn added in v0.5.1

func (builder *Builder) OrWhereIn(column interface{}, values interface{}) Query

OrWhereIn Add an "or where in" clause to the query.

func (*Builder) OrWhereJSONContains added in v0.5.1

func (builder *Builder) OrWhereJSONContains()

OrWhereJSONContains Add an "or where JSON contains" clause to the query.

func (*Builder) OrWhereJSONDoesntContain added in v0.5.1

func (builder *Builder) OrWhereJSONDoesntContain()

OrWhereJSONDoesntContain Add an "or where JSON not contains" clause to the query.

func (*Builder) OrWhereJSONLength added in v0.5.1

func (builder *Builder) OrWhereJSONLength()

OrWhereJSONLength Add an "or where JSON length" clause to the query.

func (*Builder) OrWhereMonth added in v0.5.1

func (builder *Builder) OrWhereMonth(column interface{}, args ...interface{}) Query

OrWhereMonth Add an "or where month" statement to the query.

func (*Builder) OrWhereNotBetween added in v0.5.1

func (builder *Builder) OrWhereNotBetween(column interface{}, values interface{}) Query

OrWhereNotBetween Add an or where not between statement using columns to the query.

func (*Builder) OrWhereNotExists added in v0.5.1

func (builder *Builder) OrWhereNotExists(closure func(qb Query)) Query

OrWhereNotExists Add a where not exists clause to the query.

func (*Builder) OrWhereNotIn added in v0.5.1

func (builder *Builder) OrWhereNotIn(column interface{}, values interface{}) Query

OrWhereNotIn Add an "or where not in" clause to the query.

func (*Builder) OrWhereNotNull added in v0.5.1

func (builder *Builder) OrWhereNotNull(column interface{}) Query

OrWhereNotNull Add an "or where not null" clause to the query.

func (*Builder) OrWhereNull added in v0.5.1

func (builder *Builder) OrWhereNull(column interface{}) Query

OrWhereNull Add an "or where null" clause to the query.

func (*Builder) OrWhereRaw added in v0.5.1

func (builder *Builder) OrWhereRaw(sql string, bindings ...interface{}) Query

OrWhereRaw Add an "or where" clause to the query.

func (*Builder) OrWhereTime added in v0.5.1

func (builder *Builder) OrWhereTime(column interface{}, args ...interface{}) Query

OrWhereTime Add an "or where time" statement to the query.

func (*Builder) OrWhereYear added in v0.5.1

func (builder *Builder) OrWhereYear(column interface{}, args ...interface{}) Query

OrWhereYear Add an "or where year" statement to the query.

func (*Builder) OrderBy added in v0.5.1

func (builder *Builder) OrderBy(column interface{}, args ...string) Query

OrderBy Add an "order by" clause to the query.

func (*Builder) OrderByDesc added in v0.5.1

func (builder *Builder) OrderByDesc(column interface{}) Query

OrderByDesc Add a descending "order by xxx desc" clause to the query.

func (*Builder) OrderByRaw added in v0.5.1

func (builder *Builder) OrderByRaw(sql string, bindings ...interface{}) Query

OrderByRaw Add a raw "order by" clause to the query.

func (*Builder) Paginate added in v0.5.1

func (builder *Builder) Paginate(pageSize int, page int, v ...interface{}) (xun.P, error)

Paginate paginate the given query into a simple paginator.

func (*Builder) Pluck added in v0.5.1

func (builder *Builder) Pluck()

Pluck Get an array with the values of a given column.

func (*Builder) Reorder added in v0.5.1

func (builder *Builder) Reorder(args ...interface{}) Query

Reorder Remove all existing orders and optionally add a new order. @todo

func (*Builder) Reset added in v0.5.1

func (builder *Builder) Reset() Query

Reset Reset query

func (*Builder) RightJoin added in v0.5.1

func (builder *Builder) RightJoin(table string, first interface{}, args ...interface{}) Query

RightJoin Add a right join to the query.

func (*Builder) RightJoinSub added in v0.5.1

func (builder *Builder) RightJoinSub(qb interface{}, alias string, first interface{}, args ...interface{}) Query

RightJoinSub Add a subquery right join to the query.

func (*Builder) RightJoinWhere added in v0.5.1

func (builder *Builder) RightJoinWhere()

RightJoinWhere Add a "right join where" clause to the query.

func (*Builder) SQL added in v0.8.0

func (builder *Builder) SQL(stmt string, bindings ...interface{}) Query

SQL Add a new "raw" sql STMT to the query.

func (*Builder) Select added in v0.5.1

func (builder *Builder) Select(columns ...interface{}) Query

Select Set the columns to be selected. Select("field1", "field2") Select("field1", "field2 as f2") Select("field1", dbal.Raw("Count(id) as v"))

func (*Builder) SelectAppend added in v0.5.2

func (builder *Builder) SelectAppend(columns ...interface{}) Query

SelectAppend Set the columns to be selected. Select("field1", "field2") Select("field1", "field2 as f2") Select("field1", dbal.Raw("Count(id) as v"))

func (*Builder) SelectRaw added in v0.5.1

func (builder *Builder) SelectRaw(expression string, bindings ...interface{}) Query

SelectRaw Add a new "raw" select expression to the query.

func (*Builder) SelectSub added in v0.5.1

func (builder *Builder) SelectSub(qb interface{}, as string) Query

SelectSub Add a subselect expression to the query.

func (*Builder) SharedLock added in v0.5.1

func (builder *Builder) SharedLock() Query

SharedLock Share lock the selected rows in the table.

func (*Builder) Skip added in v0.5.1

func (builder *Builder) Skip(value int) Query

Skip Alias to set the "offset" value of the query.

func (*Builder) Sum added in v0.5.1

func (builder *Builder) Sum(columns ...interface{}) (xun.N, error)

Sum Retrieve the sum of the values of a given column.

func (*Builder) Table added in v0.5.1

func (builder *Builder) Table(name string) Query

Table create a new statement and set from givn table

func (*Builder) Take added in v0.5.1

func (builder *Builder) Take(value int) Query

Take Alias to set the "limit" value of the query.

func (*Builder) ToSQL added in v0.5.1

func (builder *Builder) ToSQL() string

ToSQL Get the SQL representation of the query.

func (*Builder) Truncate added in v0.5.1

func (builder *Builder) Truncate() error

Truncate Run a truncate statement on the table.

func (*Builder) Union added in v0.5.1

func (builder *Builder) Union(query interface{}, all ...bool) Query

Union Add a union statement to the query.

func (*Builder) UnionAll added in v0.5.1

func (builder *Builder) UnionAll(query interface{}) Query

UnionAll Add a union all statement to the query.

func (*Builder) Unless added in v0.5.1

func (builder *Builder) Unless(value bool, callback func(qb Query, value bool), defaults ...func(qb Query, value bool)) Query

Unless Apply the callback's query changes if the given "value" is false.

func (*Builder) Update added in v0.5.1

func (builder *Builder) Update(v interface{}) (int64, error)

Update Update records in the database.

func (*Builder) UpdateOrInsert added in v0.5.1

func (builder *Builder) UpdateOrInsert(attributes interface{}, values ...interface{}) (bool, error)

UpdateOrInsert Insert or update a record matching the attributes, and fill it with values.

func (*Builder) Upsert added in v0.5.1

func (builder *Builder) Upsert(v interface{}, uniqueBy interface{}, update interface{}, columns ...interface{}) (int64, error)

Upsert new records or update the existing ones.

func (*Builder) UseRead added in v0.5.1

func (builder *Builder) UseRead() Query

UseRead Use the read connection for query.

func (*Builder) UseWrite added in v0.5.1

func (builder *Builder) UseWrite() Query

UseWrite Use the write connection for query.

func (*Builder) Value added in v0.5.1

func (builder *Builder) Value(column string, v ...interface{}) (interface{}, error)

Value Get a single column's value from the first result of a query.

func (*Builder) When added in v0.5.1

func (builder *Builder) When(value bool, callback func(qb Query, value bool), defaults ...func(qb Query, value bool)) Query

When Apply the callback's query changes if the given "value" is true.

func (*Builder) Where

func (builder *Builder) Where(column interface{}, args ...interface{}) Query

Where Add a basic where clause to the query.

func (*Builder) WhereBetween added in v0.5.1

func (builder *Builder) WhereBetween(column interface{}, values interface{}) Query

WhereBetween Add a where between statement to the query.

func (*Builder) WhereColumn added in v0.5.1

func (builder *Builder) WhereColumn(first interface{}, args ...interface{}) Query

WhereColumn Add a "where" clause comparing two columns to the query.

func (*Builder) WhereDate added in v0.5.1

func (builder *Builder) WhereDate(column interface{}, args ...interface{}) Query

WhereDate Add a "where date" statement to the query.

func (*Builder) WhereDay added in v0.5.1

func (builder *Builder) WhereDay(column interface{}, args ...interface{}) Query

WhereDay Add a "where day" statement to the query.

func (*Builder) WhereExists added in v0.5.1

func (builder *Builder) WhereExists(closure func(qb Query)) Query

WhereExists Add an exists clause to the query.

func (*Builder) WhereIn added in v0.5.1

func (builder *Builder) WhereIn(column interface{}, values interface{}) Query

WhereIn Add a "where in" clause to the query.

func (*Builder) WhereJSONContains added in v0.5.1

func (builder *Builder) WhereJSONContains()

WhereJSONContains Add a "where JSON contains" clause to the query.

func (*Builder) WhereJSONDoesntContain added in v0.5.1

func (builder *Builder) WhereJSONDoesntContain()

WhereJSONDoesntContain Add a "where JSON not contains" clause to the query.

func (*Builder) WhereJSONLength added in v0.5.1

func (builder *Builder) WhereJSONLength()

WhereJSONLength Add a "where JSON length" clause to the query.

func (*Builder) WhereMonth added in v0.5.1

func (builder *Builder) WhereMonth(column interface{}, args ...interface{}) Query

WhereMonth Add a "where month" statement to the query.

func (*Builder) WhereNotBetween added in v0.5.1

func (builder *Builder) WhereNotBetween(column interface{}, values interface{}) Query

WhereNotBetween Add a where not between statement to the query.

func (*Builder) WhereNotExists added in v0.5.1

func (builder *Builder) WhereNotExists(closure func(qb Query)) Query

WhereNotExists Add a where not exists clause to the query.

func (*Builder) WhereNotIn added in v0.5.1

func (builder *Builder) WhereNotIn(column interface{}, values interface{}) Query

WhereNotIn Add a "where not in" clause to the query.

func (*Builder) WhereNotNull added in v0.5.1

func (builder *Builder) WhereNotNull(column interface{}, args ...interface{}) Query

WhereNotNull Add a "where not null" clause to the query.

func (*Builder) WhereNull added in v0.5.1

func (builder *Builder) WhereNull(column interface{}, args ...interface{}) Query

WhereNull Add a "where null" clause to the query.

func (*Builder) WhereRaw added in v0.5.1

func (builder *Builder) WhereRaw(sql string, bindings ...interface{}) Query

WhereRaw Add a basic where clause to the query.

func (*Builder) WhereTime added in v0.5.1

func (builder *Builder) WhereTime(column interface{}, args ...interface{}) Query

WhereTime Add a "where time" statement to the query.

func (*Builder) WhereYear added in v0.5.1

func (builder *Builder) WhereYear(column interface{}, args ...interface{}) Query

WhereYear Add a "where year" statement to the query.

type Connection

type Connection struct {
	Write       *sqlx.DB
	WriteConfig *dbal.Config
	Read        *sqlx.DB
	ReadConfig  *dbal.Config
	Option      *dbal.Option
}

Connection DB Connection

type Query

type Query interface {

	// defined in the builder.go file
	New() Query
	Clone() Query
	Reset() Query
	Builder() *Builder

	// defined in the query.go file
	Table(name string) Query
	Get(v ...interface{}) ([]xun.R, error)
	MustGet(v ...interface{}) []xun.R
	First(v ...interface{}) (xun.R, error)
	MustFirst(v ...interface{}) xun.R
	Find(id interface{}, args ...interface{}) (xun.R, error)
	MustFind(id interface{}, args ...interface{}) xun.R
	Value(column string, v ...interface{}) (interface{}, error)
	MustValue(column string, v ...interface{}) interface{}
	Exists() (bool, error)
	MustExists() bool
	DoesntExist() (bool, error)
	MustDoesntExist() bool
	ToSQL() string
	GetBindings() []interface{}

	// defined in the paginate.go file
	Paginate(perpage int, page int, v ...interface{}) (xun.P, error)
	MustPaginate(perpage int, page int, v ...interface{}) xun.P
	Chunk(size int, callback func(items []interface{}, page int) error, v ...interface{}) error
	MustChunk(size int, callback func(items []interface{}, page int) error, v ...interface{})

	// defined in the connection.go file
	DB(usewrite ...bool) *sqlx.DB
	IsRead() bool
	UseRead() Query
	UseWrite() Query
	IsWrite() bool

	// defined in the aggregate.go file
	Count(columns ...interface{}) (int64, error)
	MustCount(columns ...interface{}) int64
	Min(columns ...interface{}) (xun.N, error)
	MustMin(columns ...interface{}) xun.N
	Max(columns ...interface{}) (xun.N, error)
	MustMax(columns ...interface{}) xun.N
	Sum(columns ...interface{}) (xun.N, error)
	MustSum(columns ...interface{}) xun.N
	Avg(columns ...interface{}) (xun.N, error)
	MustAvg(columns ...interface{}) xun.N

	// defined in the select.go file
	SQL(stmt string, bindings ...interface{}) Query
	Select(columns ...interface{}) Query
	SelectAppend(columns ...interface{}) Query
	SelectRaw(expression string, bindings ...interface{}) Query
	SelectSub(qb interface{}, alias string) Query
	Distinct(args ...interface{}) Query

	// defined in the from.go file
	From(name string) Query
	FromRaw(sql string, bindings ...interface{}) Query
	FromSub(qb interface{}, alias string) Query

	// defined in the union.go file
	Union(query interface{}, all ...bool) Query
	UnionAll(query interface{}) Query

	// defined in the join.go file
	Join(table string, first interface{}, args ...interface{}) Query
	JoinRaw(sql string, bindings ...interface{}) Query
	JoinSub(qb interface{}, alias string, first interface{}, args ...interface{}) Query
	LeftJoin(table string, first interface{}, args ...interface{}) Query
	LeftJoinSub(qb interface{}, alias string, first interface{}, args ...interface{}) Query
	RightJoin(table string, first interface{}, args ...interface{}) Query
	RightJoinSub(qb interface{}, alias string, first interface{}, args ...interface{}) Query
	CrossJoin(table string) Query
	CrossJoinSub(qb interface{}, alias string) Query
	On(first interface{}, args ...interface{}) Query
	OrOn(first interface{}, args ...interface{}) Query

	// defined in the where.go file
	Where(column interface{}, args ...interface{}) Query
	OrWhere(column interface{}, args ...interface{}) Query
	WhereColumn(first interface{}, args ...interface{}) Query
	OrWhereColumn(first interface{}, args ...interface{}) Query
	WhereNull(column interface{}, args ...interface{}) Query
	OrWhereNull(column interface{}) Query
	WhereNotNull(column interface{}, args ...interface{}) Query
	OrWhereNotNull(column interface{}) Query
	WhereRaw(sql string, bindings ...interface{}) Query
	OrWhereRaw(sql string, bindings ...interface{}) Query
	WhereBetween(column interface{}, values interface{}) Query
	OrWhereBetween(column interface{}, values interface{}) Query
	WhereNotBetween(column interface{}, values interface{}) Query
	OrWhereNotBetween(column interface{}, values interface{}) Query
	WhereIn(column interface{}, values interface{}) Query
	OrWhereIn(column interface{}, values interface{}) Query
	WhereNotIn(column interface{}, values interface{}) Query
	OrWhereNotIn(column interface{}, values interface{}) Query
	WhereExists(closure func(qb Query)) Query
	OrWhereExists(closure func(qb Query)) Query
	WhereNotExists(closure func(qb Query)) Query
	OrWhereNotExists(closure func(qb Query)) Query
	WhereDate(column interface{}, args ...interface{}) Query
	OrWhereDate(column interface{}, args ...interface{}) Query
	WhereTime(column interface{}, args ...interface{}) Query
	OrWhereTime(column interface{}, args ...interface{}) Query
	WhereYear(column interface{}, args ...interface{}) Query
	OrWhereYear(column interface{}, args ...interface{}) Query
	WhereMonth(column interface{}, args ...interface{}) Query
	OrWhereMonth(column interface{}, args ...interface{}) Query
	WhereDay(column interface{}, args ...interface{}) Query
	OrWhereDay(column interface{}, args ...interface{}) Query
	When(value bool, callback func(qb Query, value bool), defaults ...func(qb Query, value bool)) Query
	Unless(value bool, callback func(qb Query, value bool), defaults ...func(qb Query, value bool)) Query

	// defined in the group.go file
	GroupBy(groups ...interface{}) Query
	GroupByRaw(expression string, bindings ...interface{}) Query
	Having(column interface{}, args ...interface{}) Query
	OrHaving(column interface{}, args ...interface{}) Query
	HavingBetween(column interface{}, values interface{}, args ...interface{}) Query
	OrHavingBetween(column interface{}, values interface{}, args ...interface{}) Query
	HavingRaw(sql string, bindings ...interface{}) Query
	OrHavingRaw(sql string, bindings ...interface{}) Query

	// defined in the order.go file
	OrderBy(column interface{}, args ...string) Query
	OrderByDesc(column interface{}) Query
	OrderByRaw(sql string, bindings ...interface{}) Query

	// defined in the limit.go file
	Skip(value int) Query
	Offset(value int) Query
	Take(value int) Query
	Limit(value int) Query

	// defined in the lock.go file
	SharedLock() Query
	LockForUpdate() Query

	// defined in the insert.go file
	Insert(v interface{}, columns ...interface{}) error
	MustInsert(v interface{}, columns ...interface{})
	InsertOrIgnore(v interface{}, columns ...interface{}) (int64, error)
	MustInsertOrIgnore(v interface{}, columns ...interface{}) int64
	InsertGetID(v interface{}, args ...interface{}) (int64, error)
	MustInsertGetID(v interface{}, args ...interface{}) int64
	InsertUsing(qb interface{}, columns ...interface{}) (int64, error)
	MustInsertUsing(qb interface{}, columns ...interface{}) int64

	// defined in the update.go file
	Upsert(values interface{}, uniqueBy interface{}, update interface{}, columns ...interface{}) (int64, error)
	MustUpsert(values interface{}, uniqueBy interface{}, update interface{}, columns ...interface{}) int64
	UpdateOrInsert(attributes interface{}, values ...interface{}) (bool, error)
	MustUpdateOrInsert(attributes interface{}, values ...interface{}) bool
	Update(v interface{}) (int64, error)
	MustUpdate(v interface{}) int64
	Increment(column interface{}, amount interface{}, extra ...interface{}) (int64, error)
	MustIncrement(column interface{}, amount interface{}, extra ...interface{}) int64
	Decrement(column interface{}, amount interface{}, extra ...interface{}) (int64, error)
	MustDecrement(column interface{}, amount interface{}, extra ...interface{}) int64

	// defined in the delete.go file
	Delete() (int64, error)
	MustDelete() int64
	Truncate() error
	MustTruncate()

	// defined in the debug.go file
	DD()
	Dump()
}

Query The database Query interface

func New

func New(driver string, dsn string) Query

New create a new schema interface using the given driver and DSN

func Use added in v0.5.1

func Use(conn *Connection) Query

Use create a new schema interface using the given connection

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL