RunQueryBuilder <T>
Hierarchy
- Omit<QueryBuilder<T>, getResult | getSingleResult | getResultList | where>
Index
Properties
Methods
- addSelect
- andWhere
- as
- cache
- clone
- comment
- count
- delete
- distinct
- distinctOn
- execute
- from
- getCount
- getFormattedQuery
- getKnex
- getKnexQuery
- getParams
- getQuery
- getResultAndCount
- groupBy
- hasFlag
- having
- hintComment
- ignore
- indexHint
- innerJoin
- innerJoinAndSelect
- innerJoinLateral
- innerJoinLateralAndSelect
- insert
- join
- joinAndSelect
- leftJoin
- leftJoinAndSelect
- leftJoinLateral
- leftJoinLateralAndSelect
- limit
- merge
- offset
- onConflict
- orWhere
- orderBy
- returning
- select
- setFlag
- setFlushMode
- setLockMode
- then
- toQuery
- truncate
- unsetFlag
- update
- where
- withSchema
- withSubQuery
Properties
alias
helper
mainAlias
Methods
addSelect
Parameters
Returns SelectQueryBuilder<T>
andWhere
Parameters
cond: QBFilterQuery<T>
Returns QueryBuilder<T>
as
Parameters
alias: string
Returns QueryBuilder<any, any>
cache
Parameters
config: number | boolean | [string, number] = true
Returns QueryBuilder<T>
clone
Parameters
optionalreset: boolean | string[]
Returns QueryBuilder<T>
comment
Prepend comment to the sql query using the syntax
/* ... *‍/
. Some characters are forbidden such as/*, *‍/
and?
.Parameters
comment: string | string[]
Returns QueryBuilder<T>
count
Parameters
optionalfield: string | string[]
distinct: boolean = false
Returns CountQueryBuilder<T>
delete
Parameters
optionalcond: QBFilterQuery
Returns DeleteQueryBuilder<T>
distinct
Returns SelectQueryBuilder<T>
distinctOn
postgres only
Parameters
fields: string | string[]
Returns SelectQueryBuilder<T>
execute
Type parameters
- U = QueryResult<T>
Parameters
optionalmethod: get | all | run
optionalmapResults: boolean
Returns Promise<U>
from
Specifies FROM which entity's table select/update/delete will be executed, removing all previously set FROM-s. Allows setting a main string alias of the selection data.
Type parameters
- T: Partial<T> = Partial<any>
Parameters
target: QueryBuilder<T>
optionalaliasName: string
Returns SelectQueryBuilder<T>
getCount
Executes count query (without offset and limit), returning total count of results
Parameters
optionalfield: string | string[]
optionaldistinct: boolean
Returns Promise<number>
getFormattedQuery
Returns raw interpolated query string with all the parameters inlined.
Returns string
getKnex
Parameters
processVirtualEntity: boolean = true
Returns QueryBuilder<any, any>
getKnexQuery
Parameters
processVirtualEntity: boolean = true
Returns QueryBuilder<any, any>
getParams
Returns the list of all parameters for this query.
Returns readonly Value[]
getQuery
Returns the query with parameters as wildcards.
Returns string
getResultAndCount
Executes the query, returning both array of results and total count query (without offset and limit).
Returns Promise<[T[], number]>
groupBy
Parameters
fields: string | keyof T | readonly (string | keyof T)[]
Returns SelectQueryBuilder<T>
hasFlag
Parameters
flag: QueryFlag
Returns boolean
having
Parameters
cond: string | QBFilterQuery = {}
optionalparams: any[]
Returns SelectQueryBuilder<T>
hintComment
Add hints to the query using comment-like syntax
/*+ ... *‍/
. MySQL and Oracle use this syntax for optimizer hints. Also various DB proxies and routers use this syntax to pass hints to alter their behavior. In other dialects the hints are ignored as simple comments.Parameters
comment: string | string[]
Returns QueryBuilder<T>
ignore
Returns QueryBuilder<T>
indexHint
Adds index hint to the FROM clause.
Parameters
sql: string
Returns QueryBuilder<T>
innerJoin
Parameters
field: string | QueryBuilder<any, any> | QueryBuilder<any>
alias: string
cond: QBFilterQuery = {}
optionalschema: string
Returns QueryBuilder<T>
innerJoinAndSelect
Parameters
field: string | [field: string, qb: QueryBuilder<any, any> | QueryBuilder<any>]
alias: string
cond: QBFilterQuery = {}
optionalfields: string[]
optionalschema: string
Returns SelectQueryBuilder<T>
innerJoinLateral
Parameters
field: string | QueryBuilder<any, any> | QueryBuilder<any>
alias: string
cond: QBFilterQuery = {}
optionalschema: string
Returns QueryBuilder<T>
innerJoinLateralAndSelect
Parameters
field: string | [field: string, qb: QueryBuilder<any, any> | QueryBuilder<any>]
alias: string
cond: QBFilterQuery = {}
optionalfields: string[]
optionalschema: string
Returns SelectQueryBuilder<T>
insert
Parameters
data: RequiredEntityData<T> | RequiredEntityData<T>[]
Returns InsertQueryBuilder<T>
join
Parameters
field: string | QueryBuilder<any, any> | QueryBuilder<any>
alias: string
cond: QBFilterQuery = {}
type: JoinType = JoinType.innerJoin
optionalpath: string
optionalschema: string
Returns QueryBuilder<T>
joinAndSelect
Parameters
field: string | [field: string, qb: QueryBuilder<any, any> | QueryBuilder<any>]
alias: string
cond: QBFilterQuery = {}
type: JoinType = JoinType.innerJoin
optionalpath: string
optionalfields: string[]
optionalschema: string
Returns SelectQueryBuilder<T>
leftJoin
Parameters
field: string | QueryBuilder<any, any> | QueryBuilder<any>
alias: string
cond: QBFilterQuery = {}
optionalschema: string
Returns QueryBuilder<T>
leftJoinAndSelect
Parameters
field: string | [field: string, qb: QueryBuilder<any, any> | QueryBuilder<any>]
alias: string
cond: QBFilterQuery = {}
optionalfields: string[]
optionalschema: string
Returns SelectQueryBuilder<T>
leftJoinLateral
Parameters
field: string | QueryBuilder<any, any> | QueryBuilder<any>
alias: string
cond: QBFilterQuery = {}
optionalschema: string
Returns QueryBuilder<T>
leftJoinLateralAndSelect
Parameters
field: string | [field: string, qb: QueryBuilder<any, any> | QueryBuilder<any>]
alias: string
cond: QBFilterQuery = {}
optionalfields: string[]
optionalschema: string
Returns SelectQueryBuilder<T>
limit
Parameters
optionallimit: number
offset: number = 0
Returns SelectQueryBuilder<T>
merge
Parameters
optionaldata: Field<T>[] | EntityData<T>
Returns QueryBuilder<T>
offset
Parameters
optionaloffset: number
Returns SelectQueryBuilder<T>
onConflict
Parameters
Returns InsertQueryBuilder<T>
orWhere
Parameters
cond: QBFilterQuery<T>
Returns QueryBuilder<T>
orderBy
Parameters
orderBy: QBQueryOrderMap<T> | QBQueryOrderMap<T>[]
Returns SelectQueryBuilder<T>
returning
Parameters
Returns QueryBuilder<T>
select
Parameters
Returns SelectQueryBuilder<T>
setFlag
Parameters
flag: QueryFlag
Returns QueryBuilder<T>
setFlushMode
Parameters
optionalflushMode: FlushMode
Returns QueryBuilder<T>
setLockMode
Parameters
optionalmode: LockMode
optionaltables: string[]
Returns QueryBuilder<T>
then
Type parameters
- TResult1 = QueryResult<T>
- TResult2 = never
Parameters
optionalonfulfilled: null | (value: QueryResult<T>) => TResult1 | PromiseLike<TResult1>
optionalonrejected: null | (reason: any) => TResult2 | PromiseLike<TResult2>
Returns Promise<QueryResult<T>>
toQuery
Returns { _sql: Sql; params: readonly unknown[]; sql: string }
_sql: Sql
params: readonly unknown[]
sql: string
truncate
Returns TruncateQueryBuilder<T>
unsetFlag
Parameters
flag: QueryFlag
Returns QueryBuilder<T>
update
Parameters
data: EntityData<T>
Returns UpdateQueryBuilder<T>
where
Parameters
cond: string | QBFilterQuery<T>
optionalparams: any[] | $and | $or
optionaloperator: $and | $or
Returns RunQueryBuilder<T>
withSchema
Parameters
optionalschema: string
Returns QueryBuilder<T>
withSubQuery
Parameters
subQuery: QueryBuilder<any, any>
alias: string
Returns QueryBuilder<T>
Returns knex instance with sub-query aliased with given alias. You can provide
EntityName.propName
as alias, then the field name will be used based on the metadata