class Query

Query builder.

Properties

protected Connection $connection Database connection.
protected HelperInterface $helper Query helper.
protected Compiler $compiler Query compiler.
protected mixed $table Database table.
protected bool $distinct Select distinct?
protected array $commonTableExpressions Common table expressions.
protected array $setOperations Set operations.
protected array $columns Columns from which we are fetching data.
protected array $wheres WHERE clauses.
protected array $joins JOIN clauses.
protected array $groupings GROUP BY clauses.
protected array $havings HAVING clauses.
protected array $orderings ORDER BY clauses.
protected int|null $limit Limit.
protected int|null $offset Offset.
protected bool|string|null $lock Lock.
protected string|null $prefix Prefix.
protected bool $inSubqueryContext Is the query in subquery context?
static protected PaginationFactoryInterface $paginationFactory Pagination factory.

Methods

__construct(Connection $connection)

Constructor.

__clone()

Create a fresh compiler instance when we clone the query.

newInstance()

Returns a new query builder instance.

$this
inSubqueryContext()

Sets the query to subquery context.

static 
setPaginationFactory(PaginationFactoryInterface|Closure $factory)

Sets the pagination factory.

getPaginationFactory()

Gets the pagination factory.

getConnection()

Returns the connection instance.

getCompiler()

Returns query compiler instance.

array
getCommonTableExpressions()

Returns the common set operations.

array
getSetOperations()

Returns the set operations.

mixed
getTable()

Returns the database table.

bool
isDistinct()

Is it a distict select?

array
getColumns()

Returns the columns from which we are fetching data.

array
getWheres()

Returns WHERE clauses.

array
getJoins()

Returns JOIN clauses.

array
getGroupings()

Returns GROUP BY clauses.

array
getHavings()

Returns HAVING clauses.

array
getOrderings()

Returns ORDER BY clauses.

int|null
getLimit()

Returns the limit.

int|null
getOffset()

Returns the offset.

bool|string|null
getLock()

Returns the lock.

string|null
getPrefix()

Returns the prefix.

$this
forCompiler(string $compilerClass, Closure $query)

Executes the closure if the compiler is of the correct class.

$this
with(string $name, array $columns = [], Closure|Query|Subquery $query)

Adds a common table expression.

$this
withRecursive(string $name, array $columns = [], Closure|Query|Subquery $query)

Adds a recursive common table expression.

$this
setOperation(Closure|Query|Subquery $query, string $operation)

Adds a set operation.

$this
union(Closure|Query|Subquery $query)

Adds a UNION operation.

$this
unionAll(Closure|Query|Subquery $query)

Adds a UNION ALL operation.

$this
intersect(Closure|Query|Subquery $query)

Adds a INTERSECT operation.

$this
intersectAll(Closure|Query|Subquery $query)

Adds a INTERSECT ALL operation.

$this
except(Closure|Query|Subquery $query)

Adds a EXCEPT operation.

$this
exceptAll(Closure|Query|Subquery $query)

Adds a EXCEPT ALL operation.

$this
table(null|string|Closure|Subquery|Raw $table)

Sets table we want to query.

$this
from(string|Closure|Subquery|Raw $table)

Alias of Query::table().

$this
into(string|Closure|Subquery|Raw $table)

Alias of Query::table().

$this
select(array $columns)

Sets the columns we want to select.

$this
selectRaw(string $sql)

Sets the columns we want to select using raw SQL.

$this
distinct()

Select distinct?

$this
where(string|array|Closure $column, string|null $operator = null, mixed $value = null, string $separator = 'AND')

Adds a WHERE clause.

$this
whereRaw(string|array $column, string|array|null $operator = null, string|null $raw = null, string $separator = 'AND')

Adds a raw WHERE clause.

$this
orWhere(string|array|Closure $column, string|null $operator = null, mixed $value = null)

Adds a OR WHERE clause.

$this
orWhereRaw(string|array $column, string|array|null $operator = null, string|null $raw = null)

Adds a raw OR WHERE clause.

$this
whereDate(string $column, string $operator, string|DateTimeInterface $date, string $separator = 'AND')

Adds a date comparison clause.

$this
orWhereDate(string $column, string $operator, string|DateTimeInterface $date)

Adds a date comparison clause.

$this
whereColumn(string|array $column1, string $operator, string|array $column2, string $separator = 'AND')

Adds a column comparison clause.

$this
orWhereColumn(string|array $column1, string $operator, string|array $column2)

Adds a column comparison clause.

$this
between(mixed $column, mixed $value1, mixed $value2, string $separator = 'AND', bool $not = false)

Adds a BETWEEN clause.

$this
orBetween(mixed $column, mixed $value1, mixed $value2)

Adds a OR BETWEEN clause.

$this
notBetween(mixed $column, mixed $value1, mixed $value2)

Adds a NOT BETWEEN clause.

$this
orNotBetween(mixed $column, mixed $value1, mixed $value2)

Adds a OR NOT BETWEEN clause.

$this
betweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2, string $separator = 'AND', bool $not = false)

Adds a date range clause.

orBetweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2)

Adds a date range clause.

notBetweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2)

Adds a date range clause.

orNotBetweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2)

Adds a date range clause.

$this
in(mixed $column, array|Raw|Closure|Subquery $values, string $separator = 'AND', bool $not = false)

Adds a IN clause.

$this
orIn(mixed $column, mixed $values)

Adds a OR IN clause.

$this
notIn(mixed $column, mixed $values)

Adds a NOT IN clause.

$this
orNotIn(mixed $column, mixed $values)

Adds a OR NOT IN clause.

$this
isNull(mixed $column, string $separator = 'AND', bool $not = false)

Adds a IS NULL clause.

$this
orIsNull(mixed $column)

Adds a OR IS NULL clause.

$this
isNotNull(mixed $column)

Adds a IS NOT NULL clause.

$this
orIsNotNull(mixed $column)

Adds a OR IS NOT NULL clause.

$this
exists(Closure|Subquery $query, string $separator = 'AND', bool $not = false)

Adds a EXISTS clause.

$this
orExists(Closure|Subquery $query)

Adds a OR EXISTS clause.

$this
notExists(Closure|Subquery $query)

Adds a NOT EXISTS clause.

$this
orNotExists(Closure|Subquery $query)

Adds a OR NOT EXISTS clause.

$this
join(string $table, string|Closure $column1 = null, string $operator = null, string $column2 = null, string $type = 'INNER', bool $raw = false)

Adds a JOIN clause.

$this
joinRaw(string $table, string $column1, string $operator, string $raw, string $type = 'INNER')

Adds a raw JOIN clause.

$this
leftJoin(string $table, string|Closure $column1 = null, string $operator = null, string $column2 = null)

Adds a LEFT OUTER JOIN clause.

$this
leftJoinRaw(string $table, string $column1, string $operator, string $raw)

Adds a raw LEFT OUTER JOIN clause.

$this
groupBy(string|array $columns)

Adds a GROUP BY clause.

$this
having(string $column, string $operator, mixed $value, string $separator = 'AND')

Adds a HAVING clause.

$this
havingRaw(string $raw, string $operator, mixed $value, string $separator = 'AND')

Adds a raw HAVING clause.

$this
orHaving(string $column, string $operator, mixed $value)

Adds a OR HAVING clause.

$this
orHavingRaw(string $raw, string $operator, mixed $value)

Adds a raw OR HAVING clause.

$this
orderBy(string|array $columns, string $order = 'ASC')

Adds a ORDER BY clause.

$this
orderByRaw(string $raw, string $order = 'ASC')

Adds a raw ORDER BY clause.

$this
ascending(string|array $columns)

Adds an ascending ORDER BY clause.

$this
ascendingRaw(string $raw)

Adds a raw ascending ORDER BY clause.

$this
descending(string|array $columns)

Adds a descending ORDER BY clause.

$this
descendingRaw(string $raw)

Adds a raw descending ORDER BY clause.

$this
clearOrderings()

Clears the ordering clauses.

$this
limit(int $limit)

Adds a LIMIT clause.

$this
offset(int $offset)

Adds a OFFSET clause.

$this
lock(bool|string $lock = true)

Enable lock.

$this
sharedLock()

Enable shared lock.

$this
prefix(string $prefix)

Adds a query prefix.

mixed
fetchFirst(mixed ...$fetchMode)

Executes a SELECT query and returns the first row of the result set.

mixed
first()

Executes a SELECT query and returns the first row of the result set.

createResultSet(array $results)

Creates a result set.

array|ResultSet
fetchAll(bool $returnResultSet, mixed ...$fetchMode)

Executes a SELECT query and returns an array containing all of the result set rows.

all()

Executes a SELECT query and returns an array containing all of the result set rows.

mixed
column(string $column = null)

Executes a SELECT query and returns the value of the chosen column of the first row of the result set.

array
columns(string $column = null)

Executes a SELECT query and returns an array containing the values of the indicated 0-indexed column.

array
pairs(string $key, string $value)

Executes a SELECT query and returns an array where the first column is used as keys and the second as values.

fetchYield(mixed ...$fetchMode)

Executes a SELECT query and returns a generator that lets you iterate over the results.

yield()

Executes a SELECT query and returns a generator that lets you iterate over the results.

int
paginationCount()

Returns the number of records that the query will return.

paginate(int|null $itemsPerPage = null, array $options = [])

Paginates the results using a pagination instance.

batch(Closure $processor, int $batchSize = 1000, int $offsetStart = 0, int|null $offsetEnd = null)

Fetches data in batches and passes them to the processor closure.

array|void
aggregate(string $function, string|array $column)

Sets the selected column of the query to the chosen aggreate.

mixed
min(string $column)

Returns the minimum value for the chosen column.

mixed
max(string $column)

Returns the maximum value for the chosen column.

mixed
sum(string $column)

Returns sum of all the values in the chosen column.

mixed
avg(string $column)

Returns the average value for the chosen column.

int
count(string $column = '*')

Returns the number of rows.

int
countDistinct(string|array $column)

Returns the number of distinct values of the chosen column.

bool
insert(array $values = [])

Inserts data into the chosen table.

int|bool
insertAndGetId(array $values, string $primaryKey = 'id')

Inserts data into the chosen table and returns the auto increment id.

int
update(array $values)

Updates data from the chosen table.

int
increment(string $column, int $increment = 1)

Increments column value.

int
decrement(string $column, int $decrement = 1)

Decrements column value.

int
delete()

Deletes data from the chosen table.

Details

at line 166
__construct(Connection $connection)

Constructor.

Parameters

Connection $connection Database connection

at line 178
__clone()

Create a fresh compiler instance when we clone the query.

at line 188
Query newInstance()

Returns a new query builder instance.

Return Value

Query

at line 198
$this inSubqueryContext()

Sets the query to subquery context.

Return Value

$this

at line 210
static setPaginationFactory(PaginationFactoryInterface|Closure $factory)

Sets the pagination factory.

Parameters

PaginationFactoryInterface|Closure $factory Pagination factory

at line 220
static PaginationFactoryInterface getPaginationFactory()

Gets the pagination factory.

at line 237
Connection getConnection()

Returns the connection instance.

Return Value

Connection

at line 247
Compiler getCompiler()

Returns query compiler instance.

Return Value

Compiler

at line 257
array getCommonTableExpressions()

Returns the common set operations.

Return Value

array

at line 267
array getSetOperations()

Returns the set operations.

Return Value

array

at line 277
mixed getTable()

Returns the database table.

Return Value

mixed

at line 287
bool isDistinct()

Is it a distict select?

Return Value

bool

at line 297
array getColumns()

Returns the columns from which we are fetching data.

Return Value

array

at line 307
array getWheres()

Returns WHERE clauses.

Return Value

array

at line 317
array getJoins()

Returns JOIN clauses.

Return Value

array

at line 327
array getGroupings()

Returns GROUP BY clauses.

Return Value

array

at line 337
array getHavings()

Returns HAVING clauses.

Return Value

array

at line 347
array getOrderings()

Returns ORDER BY clauses.

Return Value

array

at line 357
int|null getLimit()

Returns the limit.

Return Value

int|null

at line 367
int|null getOffset()

Returns the offset.

Return Value

int|null

at line 377
bool|string|null getLock()

Returns the lock.

Return Value

bool|string|null

at line 387
string|null getPrefix()

Returns the prefix.

Return Value

string|null

at line 399
$this forCompiler(string $compilerClass, Closure $query)

Executes the closure if the compiler is of the correct class.

Parameters

string $compilerClass Compiler class name
Closure $query Closure

Return Value

$this

at line 417
$this with(string $name, array $columns = [], Closure|Query|Subquery $query)

Adds a common table expression.

Parameters

string $name Table name
array $columns Column names
Closure|Query|Subquery $query Query

Return Value

$this

at line 442
$this withRecursive(string $name, array $columns = [], Closure|Query|Subquery $query)

Adds a recursive common table expression.

Parameters

string $name Table name
array $columns Column names
Closure|Query|Subquery $query Query

Return Value

$this

at line 456
protected $this setOperation(Closure|Query|Subquery $query, string $operation)

Adds a set operation.

Parameters

Closure|Query|Subquery $query Query
string $operation Operation

Return Value

$this

at line 478
$this union(Closure|Query|Subquery $query)

Adds a UNION operation.

Parameters

Closure|Query|Subquery $query Query

Return Value

$this

at line 489
$this unionAll(Closure|Query|Subquery $query)

Adds a UNION ALL operation.

Parameters

Closure|Query|Subquery $query Query

Return Value

$this

at line 500
$this intersect(Closure|Query|Subquery $query)

Adds a INTERSECT operation.

Parameters

Closure|Query|Subquery $query Query

Return Value

$this

at line 511
$this intersectAll(Closure|Query|Subquery $query)

Adds a INTERSECT ALL operation.

Parameters

Closure|Query|Subquery $query Query

Return Value

$this

at line 522
$this except(Closure|Query|Subquery $query)

Adds a EXCEPT operation.

Parameters

Closure|Query|Subquery $query Query

Return Value

$this

at line 533
$this exceptAll(Closure|Query|Subquery $query)

Adds a EXCEPT ALL operation.

Parameters

Closure|Query|Subquery $query Query

Return Value

$this

at line 544
$this table(null|string|Closure|Subquery|Raw $table)

Sets table we want to query.

Parameters

null|string|Closure|Subquery|Raw $table Database table or subquery

Return Value

$this

at line 562
$this from(string|Closure|Subquery|Raw $table)

Alias of Query::table().

Parameters

string|Closure|Subquery|Raw $table Database table or subquery

Return Value

$this

at line 573
$this into(string|Closure|Subquery|Raw $table)

Alias of Query::table().

Parameters

string|Closure|Subquery|Raw $table Database table or subquery

Return Value

$this

at line 584
$this select(array $columns)

Sets the columns we want to select.

Parameters

array $columns Array of columns we want to select from

Return Value

$this

at line 597
$this selectRaw(string $sql)

Sets the columns we want to select using raw SQL.

Parameters

string $sql Raw sql

Return Value

$this

at line 609
$this distinct()

Select distinct?

Return Value

$this

at line 625
$this where(string|array|Closure $column, string|null $operator = null, mixed $value = null, string $separator = 'AND')

Adds a WHERE clause.

Parameters

string|array|Closure $column Column name, an array of column names or closure
string|null $operator Operator
mixed $value Value
string $separator Clause separator

Return Value

$this

at line 664
$this whereRaw(string|array $column, string|array|null $operator = null, string|null $raw = null, string $separator = 'AND')

Adds a raw WHERE clause.

Parameters

string|array $column Column name, an array of column names or raw SQL
string|array|null $operator Operator or parameters
string|null $raw Raw SQL
string $separator Clause separator

Return Value

$this

at line 689
$this orWhere(string|array|Closure $column, string|null $operator = null, mixed $value = null)

Adds a OR WHERE clause.

Parameters

string|array|Closure $column Column name, an array of column names or closure
string|null $operator Operator
mixed $value Value

Return Value

$this

at line 702
$this orWhereRaw(string|array $column, string|array|null $operator = null, string|null $raw = null)

Adds a raw OR WHERE clause.

Parameters

string|array $column Column name, and array of column names or raw SQL
string|array|null $operator Operator or parameters
string|null $raw Raw SQL

Return Value

$this

at line 716
$this whereDate(string $column, string $operator, string|DateTimeInterface $date, string $separator = 'AND')

Adds a date comparison clause.

Parameters

string $column Column name
string $operator Operator
string|DateTimeInterface $date Date
string $separator Separator

Return Value

$this

at line 739
$this orWhereDate(string $column, string $operator, string|DateTimeInterface $date)

Adds a date comparison clause.

Parameters

string $column Column name
string $operator Operator
string|DateTimeInterface $date Date

Return Value

$this

at line 753
$this whereColumn(string|array $column1, string $operator, string|array $column2, string $separator = 'AND')

Adds a column comparison clause.

Parameters

string|array $column1 Column name of array of column names
string $operator Operator
string|array $column2 Column name of array of column names
string $separator Separator

Return Value

$this

at line 775
$this orWhereColumn(string|array $column1, string $operator, string|array $column2)

Adds a column comparison clause.

Parameters

string|array $column1 Column name of array of column names
string $operator Operator
string|array $column2 Column name of array of column names

Return Value

$this

at line 790
$this between(mixed $column, mixed $value1, mixed $value2, string $separator = 'AND', bool $not = false)

Adds a BETWEEN clause.

Parameters

mixed $column Column name
mixed $value1 First value
mixed $value2 Second value
string $separator Clause separator
bool $not Not between?

Return Value

$this

at line 813
$this orBetween(mixed $column, mixed $value1, mixed $value2)

Adds a OR BETWEEN clause.

Parameters

mixed $column Column name
mixed $value1 First value
mixed $value2 Second value

Return Value

$this

at line 826
$this notBetween(mixed $column, mixed $value1, mixed $value2)

Adds a NOT BETWEEN clause.

Parameters

mixed $column Column name
mixed $value1 First value
mixed $value2 Second value

Return Value

$this

at line 839
$this orNotBetween(mixed $column, mixed $value1, mixed $value2)

Adds a OR NOT BETWEEN clause.

Parameters

mixed $column Column name
mixed $value1 First value
mixed $value2 Second value

Return Value

$this

at line 854
$this betweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2, string $separator = 'AND', bool $not = false)

Adds a date range clause.

Parameters

string $column Column name
string|DateTimeInterface $date1 First date
string|DateTimeInterface $date2 Second date
string $separator Separator
bool $not Not between?

Return Value

$this

at line 876
orBetweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2)

Adds a date range clause.

Parameters

string $column Column name
string|DateTimeInterface $date1 First date
string|DateTimeInterface $date2 Second date

at line 888
notBetweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2)

Adds a date range clause.

Parameters

string $column Column name
string|DateTimeInterface $date1 First date
string|DateTimeInterface $date2 Second date

at line 900
orNotBetweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2)

Adds a date range clause.

Parameters

string $column Column name
string|DateTimeInterface $date1 First date
string|DateTimeInterface $date2 Second date

at line 914
$this in(mixed $column, array|Raw|Closure|Subquery $values, string $separator = 'AND', bool $not = false)

Adds a IN clause.

Parameters

mixed $column Column name
array|Raw|Closure|Subquery $values Array of values or Subquery
string $separator Clause separator
bool $not Not in?

Return Value

$this

at line 944
$this orIn(mixed $column, mixed $values)

Adds a OR IN clause.

Parameters

mixed $column Column name
mixed $values Array of values or Subquery

Return Value

$this

at line 956
$this notIn(mixed $column, mixed $values)

Adds a NOT IN clause.

Parameters

mixed $column Column name
mixed $values Array of values or Subquery

Return Value

$this

at line 968
$this orNotIn(mixed $column, mixed $values)

Adds a OR NOT IN clause.

Parameters

mixed $column Column name
mixed $values Array of values or Subquery

Return Value

$this

at line 981
$this isNull(mixed $column, string $separator = 'AND', bool $not = false)

Adds a IS NULL clause.

Parameters

mixed $column Column name
string $separator Clause separator
bool $not Not in?

Return Value

$this

at line 1000
$this orIsNull(mixed $column)

Adds a OR IS NULL clause.

Parameters

mixed $column Column name

Return Value

$this

at line 1011
$this isNotNull(mixed $column)

Adds a IS NOT NULL clause.

Parameters

mixed $column Column name

Return Value

$this

at line 1022
$this orIsNotNull(mixed $column)

Adds a OR IS NOT NULL clause.

Parameters

mixed $column Column name

Return Value

$this

at line 1035
$this exists(Closure|Subquery $query, string $separator = 'AND', bool $not = false)

Adds a EXISTS clause.

Parameters

Closure|Subquery $query Subquery
string $separator Clause separator
bool $not Not exists?

Return Value

$this

at line 1059
$this orExists(Closure|Subquery $query)

Adds a OR EXISTS clause.

Parameters

Closure|Subquery $query Subquery

Return Value

$this

at line 1070
$this notExists(Closure|Subquery $query)

Adds a NOT EXISTS clause.

Parameters

Closure|Subquery $query Subquery

Return Value

$this

at line 1081
$this orNotExists(Closure|Subquery $query)

Adds a OR NOT EXISTS clause.

Parameters

Closure|Subquery $query Subquery

Return Value

$this

at line 1097
$this join(string $table, string|Closure $column1 = null, string $operator = null, string $column2 = null, string $type = 'INNER', bool $raw = false)

Adds a JOIN clause.

Parameters

string $table Table name
string|Closure $column1 Column name or closure
string $operator Operator
string $column2 Column name
string $type Join type
bool $raw Raw join?

Return Value

$this

at line 1132
$this joinRaw(string $table, string $column1, string $operator, string $raw, string $type = 'INNER')

Adds a raw JOIN clause.

Parameters

string $table Table name
string $column1 Column name or closure
string $operator Operator
string $raw Raw SQL
string $type Join type

Return Value

$this

at line 1146
$this leftJoin(string $table, string|Closure $column1 = null, string $operator = null, string $column2 = null)

Adds a LEFT OUTER JOIN clause.

Parameters

string $table Table name
string|Closure $column1 Column name or closure
string $operator Operator
string $column2 Column name

Return Value

$this

at line 1160
$this leftJoinRaw(string $table, string $column1, string $operator, string $raw)

Adds a raw LEFT OUTER JOIN clause.

Parameters

string $table Table name
string $column1 Column name or closure
string $operator Operator
string $raw Raw SQL

Return Value

$this

at line 1171
$this groupBy(string|array $columns)

Adds a GROUP BY clause.

Parameters

string|array $columns Column name or array of column names

Return Value

$this

at line 1187
$this having(string $column, string $operator, mixed $value, string $separator = 'AND')

Adds a HAVING clause.

Parameters

string $column Column name
string $operator Operator
mixed $value Value
string $separator Clause separator

Return Value

$this

at line 1209
$this havingRaw(string $raw, string $operator, mixed $value, string $separator = 'AND')

Adds a raw HAVING clause.

Parameters

string $raw Raw SQL
string $operator Operator
mixed $value Value
string $separator Clause separator

Return Value

$this

at line 1222
$this orHaving(string $column, string $operator, mixed $value)

Adds a OR HAVING clause.

Parameters

string $column Column name
string $operator Operator
mixed $value Value

Return Value

$this

at line 1235
$this orHavingRaw(string $raw, string $operator, mixed $value)

Adds a raw OR HAVING clause.

Parameters

string $raw Raw SQL
string $operator Operator
mixed $value Value

Return Value

$this

at line 1247
$this orderBy(string|array $columns, string $order = 'ASC')

Adds a ORDER BY clause.

Parameters

string|array $columns Column name or array of column names
string $order Sorting order

Return Value

$this

at line 1265
$this orderByRaw(string $raw, string $order = 'ASC')

Adds a raw ORDER BY clause.

Parameters

string $raw Raw SQL
string $order Sorting order

Return Value

$this

at line 1276
$this ascending(string|array $columns)

Adds an ascending ORDER BY clause.

Parameters

string|array $columns Column name or array of column names

Return Value

$this

at line 1287
$this ascendingRaw(string $raw)

Adds a raw ascending ORDER BY clause.

Parameters

string $raw Raw SQL

Return Value

$this

at line 1298
$this descending(string|array $columns)

Adds a descending ORDER BY clause.

Parameters

string|array $columns Column name or array of column names

Return Value

$this

at line 1309
$this descendingRaw(string $raw)

Adds a raw descending ORDER BY clause.

Parameters

string $raw Raw SQL

Return Value

$this

at line 1319
$this clearOrderings()

Clears the ordering clauses.

Return Value

$this

at line 1332
$this limit(int $limit)

Adds a LIMIT clause.

Parameters

int $limit Limit

Return Value

$this

at line 1345
$this offset(int $offset)

Adds a OFFSET clause.

Parameters

int $offset Offset

Return Value

$this

at line 1358
$this lock(bool|string $lock = true)

Enable lock.

Parameters

bool|string $lock TRUE for exclusive, FALSE for shared and string for custom

Return Value

$this

at line 1370
$this sharedLock()

Enable shared lock.

Return Value

$this

at line 1381
$this prefix(string $prefix)

Adds a query prefix.

Parameters

string $prefix Prefix

Return Value

$this

at line 1394
protected mixed fetchFirst(mixed ...$fetchMode)

Executes a SELECT query and returns the first row of the result set.

Parameters

mixed ...$fetchMode Fetch mode

Return Value

mixed

at line 1406
mixed first()

Executes a SELECT query and returns the first row of the result set.

Return Value

mixed

at line 1417
protected ResultSet createResultSet(array $results)

Creates a result set.

Parameters

array $results Results

Return Value

ResultSet

at line 1429
protected array|ResultSet fetchAll(bool $returnResultSet, mixed ...$fetchMode)

Executes a SELECT query and returns an array containing all of the result set rows.

Parameters

bool $returnResultSet Return result set?
mixed ...$fetchMode Fetch mode

Return Value

array|ResultSet

at line 1443
ResultSet all()

Executes a SELECT query and returns an array containing all of the result set rows.

Return Value

ResultSet

at line 1454
mixed column(string $column = null)

Executes a SELECT query and returns the value of the chosen column of the first row of the result set.

Parameters

string $column The column to select

Return Value

mixed

at line 1472
array columns(string $column = null)

Executes a SELECT query and returns an array containing the values of the indicated 0-indexed column.

Parameters

string $column The column to select

Return Value

array

at line 1491
array pairs(string $key, string $value)

Executes a SELECT query and returns an array where the first column is used as keys and the second as values.

Parameters

string $key The column to use as keys
string $value The column to use as values

Return Value

array

at line 1506
protected Generator fetchYield(mixed ...$fetchMode)

Executes a SELECT query and returns a generator that lets you iterate over the results.

Parameters

mixed ...$fetchMode Fetch mode

Return Value

Generator

at line 1518
Generator yield()

Executes a SELECT query and returns a generator that lets you iterate over the results.

Return Value

Generator

at line 1528
protected int paginationCount()

Returns the number of records that the query will return.

Return Value

int

at line 1547
ResultSet paginate(int|null $itemsPerPage = null, array $options = [])

Paginates the results using a pagination instance.

Parameters

int|null $itemsPerPage Number of items per page
array $options Pagination options

Return Value

ResultSet

at line 1575
batch(Closure $processor, int $batchSize = 1000, int $offsetStart = 0, int|null $offsetEnd = null)

Fetches data in batches and passes them to the processor closure.

Parameters

Closure $processor Closure that processes the results
int $batchSize Batch size
int $offsetStart Offset start
int|null $offsetEnd Offset end

at line 1616
protected array|void aggregate(string $function, string|array $column)

Sets the selected column of the query to the chosen aggreate.

Executes the query and returns the result if not in subquery context.

Parameters

string $function Aggregate function
string|array $column Column name or array of column names

Return Value

array|void

at line 1634
mixed min(string $column)

Returns the minimum value for the chosen column.

Parameters

string $column Column name

Return Value

mixed

at line 1645
mixed max(string $column)

Returns the maximum value for the chosen column.

Parameters

string $column Column name

Return Value

mixed

at line 1656
mixed sum(string $column)

Returns sum of all the values in the chosen column.

Parameters

string $column Column name

Return Value

mixed

at line 1667
mixed avg(string $column)

Returns the average value for the chosen column.

Parameters

string $column Column name

Return Value

mixed

at line 1678
int count(string $column = '*')

Returns the number of rows.

Parameters

string $column Column name

Return Value

int

at line 1689
int countDistinct(string|array $column)

Returns the number of distinct values of the chosen column.

Parameters

string|array $column Column name or array of column names

Return Value

int

at line 1700
bool insert(array $values = [])

Inserts data into the chosen table.

Parameters

array $values Associative array of column values

Return Value

bool

at line 1714
int|bool insertAndGetId(array $values, string $primaryKey = 'id')

Inserts data into the chosen table and returns the auto increment id.

Parameters

array $values Associative array of column values
string $primaryKey Primary key

Return Value

int|bool

at line 1725
int update(array $values)

Updates data from the chosen table.

Parameters

array $values Associative array of column values

Return Value

int

at line 1739
int increment(string $column, int $increment = 1)

Increments column value.

Parameters

string $column Column name
int $increment Increment value

Return Value

int

at line 1751
int decrement(string $column, int $decrement = 1)

Decrements column value.

Parameters

string $column Column name
int $decrement Decrement value

Return Value

int

at line 1761
int delete()

Deletes data from the chosen table.

Return Value

int