Query
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
Create a fresh compiler instance when we clone the query.
Returns a new query builder instance.
Sets the query to subquery context.
Gets the pagination factory.
Returns the connection instance.
Returns query compiler instance.
Returns the common set operations.
Returns the set operations.
Returns the database table.
Is it a distict select?
Returns the columns from which we are fetching data.
Returns WHERE clauses.
Returns JOIN clauses.
Returns GROUP BY clauses.
Returns HAVING clauses.
Returns ORDER BY clauses.
Returns the limit.
Returns the offset.
Returns the lock.
Returns the prefix.
Executes the closure if the compiler is of the correct class.
Adds a recursive common table expression.
Sets the columns we want to select.
Sets the columns we want to select using raw SQL.
Select distinct?
Adds a raw WHERE clause.
Adds a raw OR WHERE clause.
Adds a date comparison clause.
Adds a date comparison clause.
Adds a column comparison clause.
Adds a column comparison clause.
Adds a BETWEEN clause.
Adds a OR BETWEEN clause.
Adds a NOT BETWEEN clause.
Adds a OR NOT BETWEEN clause.
Adds a date range clause.
Adds a date range clause.
Adds a date range clause.
Adds a date range clause.
Adds a OR IN clause.
Adds a NOT IN clause.
Adds a OR NOT IN clause.
Adds a IS NULL clause.
Adds a OR IS NULL clause.
Adds a IS NOT NULL clause.
Adds a OR IS NOT NULL clause.
Adds a raw JOIN clause.
Adds a raw LEFT OUTER JOIN clause.
Adds a GROUP BY clause.
Adds a HAVING clause.
Adds a raw HAVING clause.
Adds a OR HAVING clause.
Adds a raw OR HAVING clause.
Adds a ORDER BY clause.
Adds a raw ORDER BY clause.
Adds an ascending ORDER BY clause.
Adds a raw ascending ORDER BY clause.
Adds a descending ORDER BY clause.
Adds a raw descending ORDER BY clause.
Clears the ordering clauses.
Adds a LIMIT clause.
Adds a OFFSET clause.
Enable lock.
Enable shared lock.
Adds a query prefix.
Executes a SELECT query and returns the first row of the result set.
Executes a SELECT query and returns the first row of the result set.
Creates a result set.
Executes a SELECT query and returns an array containing all of the result set rows.
Executes a SELECT query and returns the value of the chosen column of the first row of the result set.
Executes a SELECT query and returns an array containing the values of the indicated 0-indexed column.
Executes a SELECT query and returns an array where the first column is used as keys and the second as values.
Executes a SELECT query and returns a generator that lets you iterate over the results.
Executes a SELECT query and returns a generator that lets you iterate over the results.
Returns the number of records that the query will return.
Paginates the results using a pagination instance.
Sets the selected column of the query to the chosen aggreate.
Returns the minimum value for the chosen column.
Returns the maximum value for the chosen column.
Returns sum of all the values in the chosen column.
Returns the average value for the chosen column.
Returns the number of rows.
Returns the number of distinct values of the chosen column.
Inserts data into the chosen table.
Inserts data into the chosen table and returns the auto increment id.
Updates data from the chosen table.
Increments column value.
Decrements column value.
Deletes data from the chosen table.
Details
at line 166
__construct(Connection $connection)
Constructor.
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.
at line 198
$this
inSubqueryContext()
Sets the query to subquery context.
at line 210
static
setPaginationFactory(PaginationFactoryInterface|Closure $factory)
Sets the pagination factory.
at line 220
static PaginationFactoryInterface
getPaginationFactory()
Gets the pagination factory.
at line 237
Connection
getConnection()
Returns the connection instance.
at line 247
Compiler
getCompiler()
Returns query compiler instance.
at line 257
array
getCommonTableExpressions()
Returns the common set operations.
at line 267
array
getSetOperations()
Returns the set operations.
at line 277
mixed
getTable()
Returns the database table.
at line 287
bool
isDistinct()
Is it a distict select?
at line 297
array
getColumns()
Returns the columns from which we are fetching data.
at line 307
array
getWheres()
Returns WHERE clauses.
at line 317
array
getJoins()
Returns JOIN clauses.
at line 327
array
getGroupings()
Returns GROUP BY clauses.
at line 337
array
getHavings()
Returns HAVING clauses.
at line 347
array
getOrderings()
Returns ORDER BY clauses.
at line 357
int|null
getLimit()
Returns the limit.
at line 367
int|null
getOffset()
Returns the offset.
at line 377
bool|string|null
getLock()
Returns the lock.
at line 387
string|null
getPrefix()
Returns the prefix.
at line 399
$this
forCompiler(string $compilerClass, Closure $query)
Executes the closure if the compiler is of the correct class.
at line 417
$this
with(string $name, array $columns = [], Closure|Query|Subquery $query)
Adds a common table expression.
at line 442
$this
withRecursive(string $name, array $columns = [], Closure|Query|Subquery $query)
Adds a recursive common table expression.
at line 456
protected $this
setOperation(Closure|Query|Subquery $query, string $operation)
Adds a set operation.
at line 584
$this
select(array $columns)
Sets the columns we want to select.
at line 597
$this
selectRaw(string $sql)
Sets the columns we want to select using raw SQL.
at line 609
$this
distinct()
Select distinct?
at line 625
$this
where(string|array|Closure $column, string|null $operator = null, mixed $value = null, string $separator = 'AND')
Adds a WHERE clause.
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.
at line 689
$this
orWhere(string|array|Closure $column, string|null $operator = null, mixed $value = null)
Adds a OR WHERE clause.
at line 702
$this
orWhereRaw(string|array $column, string|array|null $operator = null, string|null $raw = null)
Adds a raw OR WHERE clause.
at line 716
$this
whereDate(string $column, string $operator, string|DateTimeInterface $date, string $separator = 'AND')
Adds a date comparison clause.
at line 739
$this
orWhereDate(string $column, string $operator, string|DateTimeInterface $date)
Adds a date comparison clause.
at line 753
$this
whereColumn(string|array $column1, string $operator, string|array $column2, string $separator = 'AND')
Adds a column comparison clause.
at line 775
$this
orWhereColumn(string|array $column1, string $operator, string|array $column2)
Adds a column comparison clause.
at line 790
$this
between(mixed $column, mixed $value1, mixed $value2, string $separator = 'AND', bool $not = false)
Adds a BETWEEN clause.
at line 813
$this
orBetween(mixed $column, mixed $value1, mixed $value2)
Adds a OR BETWEEN clause.
at line 826
$this
notBetween(mixed $column, mixed $value1, mixed $value2)
Adds a NOT BETWEEN clause.
at line 839
$this
orNotBetween(mixed $column, mixed $value1, mixed $value2)
Adds a OR NOT BETWEEN clause.
at line 854
$this
betweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2, string $separator = 'AND', bool $not = false)
Adds a date range clause.
at line 876
orBetweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2)
Adds a date range clause.
at line 888
notBetweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2)
Adds a date range clause.
at line 900
orNotBetweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2)
Adds a date range clause.
at line 914
$this
in(mixed $column, array|Raw|Closure|Subquery $values, string $separator = 'AND', bool $not = false)
Adds a IN clause.
at line 944
$this
orIn(mixed $column, mixed $values)
Adds a OR IN clause.
at line 956
$this
notIn(mixed $column, mixed $values)
Adds a NOT IN clause.
at line 968
$this
orNotIn(mixed $column, mixed $values)
Adds a OR NOT IN clause.
at line 981
$this
isNull(mixed $column, string $separator = 'AND', bool $not = false)
Adds a IS NULL clause.
at line 1000
$this
orIsNull(mixed $column)
Adds a OR IS NULL clause.
at line 1011
$this
isNotNull(mixed $column)
Adds a IS NOT NULL clause.
at line 1022
$this
orIsNotNull(mixed $column)
Adds a OR IS NOT NULL clause.
at line 1035
$this
exists(Closure|Subquery $query, string $separator = 'AND', bool $not = false)
Adds a EXISTS clause.
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.
at line 1132
$this
joinRaw(string $table, string $column1, string $operator, string $raw, string $type = 'INNER')
Adds a raw JOIN clause.
at line 1146
$this
leftJoin(string $table, string|Closure $column1 = null, string $operator = null, string $column2 = null)
Adds a LEFT OUTER JOIN clause.
at line 1160
$this
leftJoinRaw(string $table, string $column1, string $operator, string $raw)
Adds a raw LEFT OUTER JOIN clause.
at line 1171
$this
groupBy(string|array $columns)
Adds a GROUP BY clause.
at line 1187
$this
having(string $column, string $operator, mixed $value, string $separator = 'AND')
Adds a HAVING clause.
at line 1209
$this
havingRaw(string $raw, string $operator, mixed $value, string $separator = 'AND')
Adds a raw HAVING clause.
at line 1222
$this
orHaving(string $column, string $operator, mixed $value)
Adds a OR HAVING clause.
at line 1235
$this
orHavingRaw(string $raw, string $operator, mixed $value)
Adds a raw OR HAVING clause.
at line 1247
$this
orderBy(string|array $columns, string $order = 'ASC')
Adds a ORDER BY clause.
at line 1265
$this
orderByRaw(string $raw, string $order = 'ASC')
Adds a raw ORDER BY clause.
at line 1276
$this
ascending(string|array $columns)
Adds an ascending ORDER BY clause.
at line 1287
$this
ascendingRaw(string $raw)
Adds a raw ascending ORDER BY clause.
at line 1298
$this
descending(string|array $columns)
Adds a descending ORDER BY clause.
at line 1309
$this
descendingRaw(string $raw)
Adds a raw descending ORDER BY clause.
at line 1319
$this
clearOrderings()
Clears the ordering clauses.
at line 1332
$this
limit(int $limit)
Adds a LIMIT clause.
at line 1345
$this
offset(int $offset)
Adds a OFFSET clause.
at line 1358
$this
lock(bool|string $lock = true)
Enable lock.
at line 1370
$this
sharedLock()
Enable shared lock.
at line 1381
$this
prefix(string $prefix)
Adds a query prefix.
at line 1394
protected mixed
fetchFirst(mixed ...$fetchMode)
Executes a SELECT query and returns the first row of the result set.
at line 1406
mixed
first()
Executes a SELECT query and returns the first row of the result set.
at line 1417
protected ResultSet
createResultSet(array $results)
Creates a result set.
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.
at line 1443
ResultSet
all()
Executes a SELECT query and returns an array containing all of the result set rows.
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.
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.
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.
at line 1506
protected Generator
fetchYield(mixed ...$fetchMode)
Executes a SELECT query and returns a generator that lets you iterate over the results.
at line 1518
Generator
yield()
Executes a SELECT query and returns a generator that lets you iterate over the results.
at line 1528
protected int
paginationCount()
Returns the number of records that the query will return.
at line 1547
ResultSet
paginate(int|null $itemsPerPage = null, array $options = [])
Paginates the results using a pagination instance.
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.
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.
at line 1634
mixed
min(string $column)
Returns the minimum value for the chosen column.
at line 1645
mixed
max(string $column)
Returns the maximum value for the chosen column.
at line 1656
mixed
sum(string $column)
Returns sum of all the values in the chosen column.
at line 1667
mixed
avg(string $column)
Returns the average value for the chosen column.
at line 1678
int
count(string $column = '*')
Returns the number of rows.
at line 1689
int
countDistinct(string|array $column)
Returns the number of distinct values of the chosen column.
at line 1700
bool
insert(array $values = [])
Inserts data into the chosen table.
at line 1714
int|bool
insertAndGetId(array $values, string $primaryKey = 'id')
Inserts data into the chosen table and returns the auto increment id.
at line 1725
int
update(array $values)
Updates data from the chosen table.
at line 1739
int
increment(string $column, int $increment = 1)
Increments column value.
at line 1751
int
decrement(string $column, int $decrement = 1)
Decrements column value.
at line 1761
int
delete()
Deletes data from the chosen table.