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.
Resets the query to its default state.
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 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 170
__construct(Connection $connection)
Constructor.
at line 182
__clone()
Create a fresh compiler instance when we clone the query.
at line 190
protected
reset()
Resets the query to its default state.
at line 205
Query
newInstance()
Returns a new query builder instance.
at line 215
$this
inSubqueryContext()
Sets the query to subquery context.
at line 227
static
setPaginationFactory(PaginationFactoryInterface|Closure $factory)
Sets the pagination factory.
at line 237
static PaginationFactoryInterface
getPaginationFactory()
Gets the pagination factory.
at line 254
Connection
getConnection()
Returns the connection instance.
at line 264
Compiler
getCompiler()
Returns query compiler instance.
at line 274
array
getCommonTableExpressions()
Returns the common set operations.
at line 284
array
getSetOperations()
Returns the set operations.
at line 294
mixed
getTable()
Returns the database table.
at line 304
bool
isDistinct()
Is it a distict select?
at line 314
array
getColumns()
Returns the columns from which we are fetching data.
at line 324
array
getWheres()
Returns WHERE clauses.
at line 334
array
getJoins()
Returns JOIN clauses.
at line 344
array
getGroupings()
Returns GROUP BY clauses.
at line 354
array
getHavings()
Returns HAVING clauses.
at line 364
array
getOrderings()
Returns ORDER BY clauses.
at line 374
int|null
getLimit()
Returns the limit.
at line 384
int|null
getOffset()
Returns the offset.
at line 394
bool|string|null
getLock()
Returns the lock.
at line 404
string|null
getPrefix()
Returns the prefix.
at line 416
$this
forCompiler(string $compilerClass, Closure $query)
Executes the closure if the compiler is of the correct class.
at line 434
$this
with(string $name, array $columns = [], Closure|Query|Subquery $query)
Adds a common table expression.
at line 459
$this
withRecursive(string $name, array $columns = [], Closure|Query|Subquery $query)
Adds a recursive common table expression.
at line 473
protected $this
setOperation(Closure|Query|Subquery|null $query = null, string $operation)
Adds a set operation.
at line 543
$this
intersectAll(Closure|Query|Subquery|null $query = null)
Adds a INTERSECT ALL operation.
at line 616
$this
select(array $columns)
Sets the columns we want to select.
at line 629
$this
selectRaw(string $sql)
Sets the columns we want to select using raw SQL.
at line 641
$this
distinct()
Select distinct?
at line 657
$this
where(string|array|Closure $column, string|null $operator = null, mixed $value = null, string $separator = 'AND')
Adds a WHERE clause.
at line 696
$this
whereRaw(string|array $column, string|array|null $operator = null, string|null $raw = null, string $separator = 'AND')
Adds a raw WHERE clause.
at line 721
$this
orWhere(string|array|Closure $column, string|null $operator = null, mixed $value = null)
Adds a OR WHERE clause.
at line 734
$this
orWhereRaw(string|array $column, string|array|null $operator = null, string|null $raw = null)
Adds a raw OR WHERE clause.
at line 748
$this
whereDate(string $column, string $operator, string|DateTimeInterface $date, string $separator = 'AND')
Adds a date comparison clause.
at line 771
$this
orWhereDate(string $column, string $operator, string|DateTimeInterface $date)
Adds a date comparison clause.
at line 785
$this
whereColumn(string|array $column1, string $operator, string|array $column2, string $separator = 'AND')
Adds a column comparison clause.
at line 807
$this
orWhereColumn(string|array $column1, string $operator, string|array $column2)
Adds a column comparison clause.
at line 822
$this
between(mixed $column, mixed $value1, mixed $value2, string $separator = 'AND', bool $not = false)
Adds a BETWEEN clause.
at line 845
$this
orBetween(mixed $column, mixed $value1, mixed $value2)
Adds a OR BETWEEN clause.
at line 858
$this
notBetween(mixed $column, mixed $value1, mixed $value2)
Adds a NOT BETWEEN clause.
at line 871
$this
orNotBetween(mixed $column, mixed $value1, mixed $value2)
Adds a OR NOT BETWEEN clause.
at line 886
$this
betweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2, string $separator = 'AND', bool $not = false)
Adds a date range clause.
at line 908
orBetweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2)
Adds a date range clause.
at line 920
notBetweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2)
Adds a date range clause.
at line 932
orNotBetweenDate(string $column, string|DateTimeInterface $date1, string|DateTimeInterface $date2)
Adds a date range clause.
at line 946
$this
in(mixed $column, array|Raw|Closure|Subquery $values, string $separator = 'AND', bool $not = false)
Adds a IN clause.
at line 1000
$this
orNotIn(mixed $column, array|Raw|Closure|Subquery $values)
Adds a OR NOT IN clause.
at line 1013
$this
isNull(mixed $column, string $separator = 'AND', bool $not = false)
Adds a IS NULL clause.
at line 1032
$this
orIsNull(mixed $column)
Adds a OR IS NULL clause.
at line 1043
$this
isNotNull(mixed $column)
Adds a IS NOT NULL clause.
at line 1054
$this
orIsNotNull(mixed $column)
Adds a OR IS NOT NULL clause.
at line 1067
$this
exists(Closure|Subquery $query, string $separator = 'AND', bool $not = false)
Adds a EXISTS clause.
at line 1129
$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 1164
$this
joinRaw(string $table, string $column1, string $operator, string $raw, string $type = 'INNER')
Adds a raw JOIN clause.
at line 1178
$this
leftJoin(string $table, string|Closure $column1 = null, string $operator = null, string $column2 = null)
Adds a LEFT OUTER JOIN clause.
at line 1192
$this
leftJoinRaw(string $table, string $column1, string $operator, string $raw)
Adds a raw LEFT OUTER JOIN clause.
at line 1203
$this
groupBy(string|array $columns)
Adds a GROUP BY clause.
at line 1219
$this
having(string $column, string $operator, mixed $value, string $separator = 'AND')
Adds a HAVING clause.
at line 1241
$this
havingRaw(string $raw, string $operator, mixed $value, string $separator = 'AND')
Adds a raw HAVING clause.
at line 1254
$this
orHaving(string $column, string $operator, mixed $value)
Adds a OR HAVING clause.
at line 1267
$this
orHavingRaw(string $raw, string $operator, mixed $value)
Adds a raw OR HAVING clause.
at line 1279
$this
orderBy(string|array $columns, string $order = 'ASC')
Adds a ORDER BY clause.
at line 1297
$this
orderByRaw(string $raw, string $order = 'ASC')
Adds a raw ORDER BY clause.
at line 1308
$this
ascending(string|array $columns)
Adds an ascending ORDER BY clause.
at line 1319
$this
ascendingRaw(string $raw)
Adds a raw ascending ORDER BY clause.
at line 1330
$this
descending(string|array $columns)
Adds a descending ORDER BY clause.
at line 1341
$this
descendingRaw(string $raw)
Adds a raw descending ORDER BY clause.
at line 1351
$this
clearOrderings()
Clears the ordering clauses.
at line 1364
$this
limit(int $limit)
Adds a LIMIT clause.
at line 1377
$this
offset(int $offset)
Adds a OFFSET clause.
at line 1390
$this
lock(bool|string $lock = true)
Enable lock.
at line 1402
$this
sharedLock()
Enable shared lock.
at line 1413
$this
prefix(string $prefix)
Adds a query prefix.
at line 1426
protected mixed
fetchFirst(mixed ...$fetchMode)
Executes a SELECT query and returns the first row of the result set.
at line 1438
mixed
first()
Executes a SELECT query and returns the first row of the result set.
at line 1449
protected ResultSet
createResultSet(array $results)
Creates a result set.
at line 1461
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 1475
ResultSet
all()
Executes a SELECT query and returns an array containing all of the result set rows.
at line 1486
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 1504
array
columns(string $column = null)
Executes a SELECT query and returns an array containing the values of the indicated 0-indexed column.
at line 1523
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 1538
protected Generator
fetchYield(mixed ...$fetchMode)
Executes a SELECT query and returns a generator that lets you iterate over the results.
at line 1550
Generator
yield()
Executes a SELECT query and returns a generator that lets you iterate over the results.
at line 1560
protected int
paginationCount()
Returns the number of records that the query will return.
at line 1579
ResultSet
paginate(int|null $itemsPerPage = null, array $options = [])
Paginates the results using a pagination instance.
at line 1607
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 1648
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 1666
mixed
min(string $column)
Returns the minimum value for the chosen column.
at line 1677
mixed
max(string $column)
Returns the maximum value for the chosen column.
at line 1688
mixed
sum(string $column)
Returns sum of all the values in the chosen column.
at line 1699
mixed
avg(string $column)
Returns the average value for the chosen column.
at line 1710
int
count(string $column = '*')
Returns the number of rows.
at line 1721
int
countDistinct(string|array $column)
Returns the number of distinct values of the chosen column.
at line 1732
bool
insert(array $values = [])
Inserts data into the chosen table.
at line 1746
int|bool
insertAndGetId(array $values, string $primaryKey = 'id')
Inserts data into the chosen table and returns the auto increment id.
at line 1757
int
update(array $values)
Updates data from the chosen table.
at line 1771
int
increment(string $column, int $increment = 1)
Increments column value.
at line 1783
int
decrement(string $column, int $decrement = 1)
Decrements column value.
at line 1793
int
delete()
Deletes data from the chosen table.