Skip to main content
Version: 5.6

CountQueryBuilder <T>

SQL query builder with fluent interface.

const qb = orm.em.createQueryBuilder(Publisher);
qb.select('*')
.where({
name: 'test 123',
type: PublisherType.GLOBAL,
})
.orderBy({
name: QueryOrder.DESC,
type: QueryOrder.ASC,
})
.limit(2, 1);

const publisher = await qb.getSingleResult();

Hierarchy

Index

Accessors

alias

  • get alias(): string
  • Returns string

helper

  • get helper(): QueryBuilderHelper
  • Returns QueryBuilderHelper

mainAlias

  • Returns Alias

Methods

[custom]

  • [custom](depth: number): string
  • Parameters

    • depth: number

    Returns string

addSelect

andWhere

as

  • as(alias: string): QueryBuilder<any, any>
  • 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


    Parameters

    • alias: string

    Returns QueryBuilder<any, any>

cache

  • Parameters

    • config: number | boolean | [string, number] = true

    Returns CountQueryBuilder<T>

clone

count

  • Parameters

    • optionalfield: string | string[]
    • distinct: boolean = false

    Returns CountQueryBuilder<T>

delete

  • Parameters

    • optionalcond: any

    Returns DeleteQueryBuilder<T>

distinct

distinctOn

  • postgres only


    Parameters

    • fields: string | string[]

    Returns SelectQueryBuilder<T>

execute

  • execute<U>(method?: get | all | run, mapResults?: boolean): Promise<U>
  • execute<U>(method: all, mapResults?: boolean): Promise<U>
  • execute<U>(method: get, mapResults?: boolean): Promise<U>
  • execute<U>(method: run, mapResults?: boolean): Promise<U>
  • Executes this QB and returns the raw results, mapped to the property names (unless disabled via last parameter). Use method to specify what kind of result you want to get (array/single/meta).


    Type parameters

    • U = { count: number }[]

    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

    Returns QueryBuilder<T>

getCount

  • getCount(field?: string | string[], distinct?: boolean): Promise<number>
  • Executes count query (without offset and limit), returning total count of results


    Parameters

    • optionalfield: string | string[]
    • optionaldistinct: boolean

    Returns Promise<number>

getFormattedQuery

  • getFormattedQuery(): string
  • Returns raw interpolated query string with all the parameters inlined.


    Returns string

getKnex

  • getKnex(): QueryBuilder<any, any>
  • Returns QueryBuilder<any, any>

getKnexQuery

  • getKnexQuery(): QueryBuilder<any, any>
  • Returns QueryBuilder<any, any>

getParams

  • getParams(): readonly Value[]
  • Returns the list of all parameters for this query.


    Returns readonly Value[]

getQuery

  • getQuery(): string
  • Returns the query with parameters as wildcards.


    Returns string

getResult

  • getResult(): Promise<T[]>
  • Alias for qb.getResultList()


    Returns Promise<T[]>

getResultList

  • getResultList(): Promise<T[]>
  • Executes the query, returning array of results


    Returns Promise<T[]>

getSingleResult

  • getSingleResult(): Promise<null | T>
  • Executes the query, returning the first result or null


    Returns Promise<null | T>

groupBy

  • groupBy(fields: string | keyof T | readonly (string | keyof T)[]): CountQueryBuilder<T>
  • Parameters

    • fields: string | keyof T | readonly (string | keyof T)[]

    Returns CountQueryBuilder<T>

having

  • Parameters

    • cond: any = {}
    • optionalparams: any[]

    Returns CountQueryBuilder<T>

ignore

indexHint

  • Adds index hint to the FROM clause.


    Parameters

    • sql: string

    Returns CountQueryBuilder<T>

insert

join

  • join(field: string, alias: string, cond?: any, type?: leftJoin | innerJoin | pivotJoin, path?: string): CountQueryBuilder<T>
  • Parameters

    • field: string
    • alias: string
    • cond: any = {}
    • type: leftJoin | innerJoin | pivotJoin = 'innerJoin'
    • optionalpath: string

    Returns CountQueryBuilder<T>

joinAndSelect

  • joinAndSelect(field: string, alias: string, cond?: any, type?: leftJoin | innerJoin | pivotJoin, path?: string): SelectQueryBuilder<T>
  • Parameters

    • field: string
    • alias: string
    • cond: any = {}
    • type: leftJoin | innerJoin | pivotJoin = 'innerJoin'
    • optionalpath: string

    Returns SelectQueryBuilder<T>

leftJoin

  • Parameters

    • field: string
    • alias: string
    • cond: any = {}

    Returns CountQueryBuilder<T>

leftJoinAndSelect

  • Parameters

    • field: string
    • alias: string
    • cond: any = {}

    Returns SelectQueryBuilder<T>

limit

  • Parameters

    • optionallimit: number
    • offset: number = 0

    Returns CountQueryBuilder<T>

merge

offset

  • Parameters

    • optionaloffset: number

    Returns CountQueryBuilder<T>

onConflict

orWhere

orderBy

raw

  • raw<R>(sql: string, bindings?: ValueDict | RawBinding[]): R
  • Type parameters

    • R = Raw<any>

    Parameters

    • sql: string
    • bindings: ValueDict | RawBinding[] = []

    Returns R

select

setFlag

setFlushMode

setLockMode

then

  • then<TResult1, TResult2>(onfulfilled?: null | (value: number) => TResult1 | PromiseLike<TResult1>, onrejected?: null | (reason: any) => TResult2 | PromiseLike<TResult2>): Promise<number>
  • Provides promise-like interface so we can await the QB instance.


    Type parameters

    • TResult1 = number
    • TResult2 = never

    Parameters

    • optionalonfulfilled: null | (value: number) => TResult1 | PromiseLike<TResult1>
    • optionalonrejected: null | (reason: any) => TResult2 | PromiseLike<TResult2>

    Returns Promise<number>

truncate

unsetFlag

update

where

withSchema

  • Parameters

    • optionalschema: string

    Returns CountQueryBuilder<T>

withSubQuery

  • Parameters

    • subQuery: QueryBuilder<any, any>
    • alias: string

    Returns CountQueryBuilder<T>