class Builder

Traits

Properties

static protected array $macros

The registered string macros.

from  Macroable
Connection $connection

The database connection instance.

Grammar $grammar

The database query grammar instance.

Processor $processor

The database query post processor instance.

array $bindings

The current query value bindings.

array $aggregate

An aggregate function and column to be run.

array $columns

The columns that should be returned.

bool $distinct

Indicates if the query returns distinct results.

string $from

The table which the query is targeting.

array $joins

The table joins for the query.

array $wheres

The where constraints for the query.

array $groups

The groupings for the query.

array $havings

The having constraints for the query.

array $orders

The orderings for the query.

int $limit

The maximum number of records to return.

int $offset

The number of records to skip.

array $unions

The query union statements.

int $unionLimit

The maximum number of union records to return.

int $unionOffset

The number of union records to skip.

array $unionOrders

The orderings for the union query.

string|bool $lock

Indicates whether row locking is being used.

array $operators

All of the available clause operators.

bool $useWritePdo

Whether use write pdo for select.

Methods

bool
chunk(int $count, callable $callback)

Chunk the results of the query.

bool
each(callable $callback, int $count = 1000)

Execute a callback over each item while chunking.

first(array $columns = ['*'])

Execute the query and get the first result.

mixed
when(mixed $value, callable $callback, callable $default = null)

Apply the callback's query changes if the given "value" is true.

tap(Closure $callback)

Pass the query to a given callback.

mixed
unless(mixed $value, callable $callback, callable $default = null)

Apply the callback's query changes if the given "value" is false.

paginator(Collection $items, int $total, int $perPage, int $currentPage, array $options)

Create a new length-aware paginator instance.

simplePaginator(Collection $items, int $perPage, int $currentPage, array $options)

Create a new simple paginator instance.

static void
macro(string $name, callable $macro)

Register a custom macro.

static bool
hasMacro(string $name)

Checks if macro is registered.

static mixed
__callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

mixed
__call(string $method, array $parameters)

Handle dynamic method calls into the method.

void
__construct(ConnectionInterface $connection, Grammar $grammar = null, Processor $processor = null)

Create a new query builder instance.

$this
select(array|mixed $columns = ['*'])

Set the columns to be selected.

selectRaw(string $expression, array $bindings = [])

Add a new "raw" select expression to the query.

selectSub(Closure|Builder|string $query, string $as)

Add a subselect expression to the query.

array
parseSubSelect(mixed $query)

Parse the sub-select query into SQL and bindings.

$this
addSelect(array|mixed $column)

Add a new select column to the query.

$this
distinct()

Force the query to only return distinct results.

$this
from(string $table)

Set the table which the query is targeting.

$this
join(string $table, string $first, string $operator = null, string $second = null, string $type = 'inner', bool $where = false)

Add a join clause to the query.

joinWhere(string $table, string $first, string $operator, string $second, string $type = 'inner')

Add a "join where" clause to the query.

leftJoin(string $table, string $first, string $operator = null, string $second = null)

Add a left join to the query.

leftJoinWhere(string $table, string $first, string $operator, string $second)

Add a "join where" clause to the query.

rightJoin(string $table, string $first, string $operator = null, string $second = null)

Add a right join to the query.

rightJoinWhere(string $table, string $first, string $operator, string $second)

Add a "right join where" clause to the query.

crossJoin(string $table, string $first = null, string $operator = null, string $second = null)

Add a "cross join" clause to the query.

void
mergeWheres(array $wheres, array $bindings)

Merge an array of where clauses and bindings.

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

Add a basic where clause to the query.

$this
addArrayOfWheres(array $column, string $boolean, string $method = 'where')

Add an array of where clauses to the query.

array
prepareValueAndOperator(string $value, string $operator, bool $useDefault = false)

Prepare the value and operator for a where clause.

bool
invalidOperatorAndValue(string $operator, mixed $value)

Determine if the given operator and value combination is legal.

bool
invalidOperator(string $operator)

Determine if the given operator is supported.

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

Add an "or where" clause to the query.

whereColumn(string|array $first, string|null $operator = null, string|null $second = null, string|null $boolean = 'and')

Add a "where" clause comparing two columns to the query.

orWhereColumn(string|array $first, string|null $operator = null, string|null $second = null)

Add an "or where" clause comparing two columns to the query.

$this
whereRaw(string $sql, mixed $bindings = [], string $boolean = 'and')

Add a raw where clause to the query.

orWhereRaw(string $sql, mixed $bindings = [])

Add a raw or where clause to the query.

$this
whereIn(string $column, mixed $values, string $boolean = 'and', bool $not = false)

Add a "where in" clause to the query.

orWhereIn(string $column, mixed $values)

Add an "or where in" clause to the query.

whereNotIn(string $column, mixed $values, string $boolean = 'and')

Add a "where not in" clause to the query.

orWhereNotIn(string $column, mixed $values)

Add an "or where not in" clause to the query.

$this
whereInSub(string $column, Closure $callback, string $boolean, bool $not)

Add a where in with a sub-select to the query.

$this
whereInExistingQuery(string $column, Builder|Builder $query, string $boolean, bool $not)

Add an external sub-select to the query.

$this
whereNull(string $column, string $boolean = 'and', bool $not = false)

Add a "where null" clause to the query.

orWhereNull(string $column)

Add an "or where null" clause to the query.

whereNotNull(string $column, string $boolean = 'and')

Add a "where not null" clause to the query.

$this
whereBetween(string $column, array $values, string $boolean = 'and', bool $not = false)

Add a where between statement to the query.

orWhereBetween(string $column, array $values)

Add an or where between statement to the query.

whereNotBetween(string $column, array $values, string $boolean = 'and')

Add a where not between statement to the query.

orWhereNotBetween(string $column, array $values)

Add an or where not between statement to the query.

orWhereNotNull(string $column)

Add an "or where not null" clause to the query.

whereDate(string $column, string $operator, mixed $value = null, string $boolean = 'and')

Add a "where date" statement to the query.

orWhereDate(string $column, string $operator, string $value)

Add an "or where date" statement to the query.

whereTime(string $column, string $operator, int $value, string $boolean = 'and')

Add a "where time" statement to the query.

orWhereTime(string $column, string $operator, int $value)

Add an "or where time" statement to the query.

whereDay(string $column, string $operator, mixed $value = null, string $boolean = 'and')

Add a "where day" statement to the query.

whereMonth(string $column, string $operator, mixed $value = null, string $boolean = 'and')

Add a "where month" statement to the query.

whereYear(string $column, string $operator, mixed $value = null, string $boolean = 'and')

Add a "where year" statement to the query.

$this
addDateBasedWhere(string $type, string $column, string $operator, int $value, string $boolean = 'and')

Add a date based (year, month, day, time) statement to the query.

whereNested(Closure $callback, string $boolean = 'and')

Add a nested where statement to the query.

forNestedWhere()

Create a new query instance for nested where condition.

$this
addNestedWhereQuery(Builder|Builder $query, string $boolean = 'and')

Add another query builder as a nested where to the query builder.

$this
whereSub(string $column, string $operator, Closure $callback, string $boolean)

Add a full sub-select to the query.

$this
whereExists(Closure $callback, string $boolean = 'and', bool $not = false)

Add an exists clause to the query.

orWhereExists(Closure $callback, bool $not = false)

Add an or exists clause to the query.

whereNotExists(Closure $callback, string $boolean = 'and')

Add a where not exists clause to the query.

orWhereNotExists(Closure $callback)

Add a where not exists clause to the query.

$this
addWhereExistsQuery(Builder $query, string $boolean = 'and', bool $not = false)

Add an exists clause to the query.

$this
dynamicWhere(string $method, string $parameters)

Handles dynamic "where" clauses to the query.

void
addDynamic(string $segment, string $connector, array $parameters, int $index)

Add a single dynamic where clause statement to the query.

$this
groupBy(array ...$groups)

Add a "group by" clause to the query.

$this
having(string $column, string $operator = null, string $value = null, string $boolean = 'and')

Add a "having" clause to the query.

orHaving(string $column, string $operator = null, string $value = null)

Add a "or having" clause to the query.

$this
havingRaw(string $sql, array $bindings = [], string $boolean = 'and')

Add a raw having clause to the query.

orHavingRaw(string $sql, array $bindings = [])

Add a raw or having clause to the query.

$this
orderBy(string $column, string $direction = 'asc')

Add an "order by" clause to the query.

$this
orderByDesc(string $column)

Add a descending "order by" clause to the query.

latest(string $column = 'created_at')

Add an "order by" clause for a timestamp to the query.

oldest(string $column = 'created_at')

Add an "order by" clause for a timestamp to the query.

$this
inRandomOrder(string $seed = '')

Put the query's results in random order.

$this
orderByRaw(string $sql, array $bindings = [])

Add a raw "order by" clause to the query.

skip(int $value)

Alias to set the "offset" value of the query.

$this
offset(int $value)

Set the "offset" value of the query.

take(int $value)

Alias to set the "limit" value of the query.

$this
limit(int $value)

Set the "limit" value of the query.

forPage(int $page, int $perPage = 15)

Set the limit and offset for a given page.

forPageAfterId(int $perPage = 15, int $lastId = 0, string $column = 'id')

Constrain the query to the next "page" of results after a given ID.

array
removeExistingOrdersFor(string $column)

Get an array with all orders with a given column removed.

union(Builder|Closure $query, bool $all = false)

Add a union statement to the query.

unionAll(Builder|Closure $query)

Add a union all statement to the query.

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

Lock the selected rows in the table.

lockForUpdate()

Lock the selected rows in the table for updating.

sharedLock()

Share lock the selected rows in the table.

string
toSql()

Get the SQL representation of the query.

mixed|Builder
find(int $id, array $columns = ['*'])

Execute a query for a single record by ID.

mixed
value(string $column)

Get a single column's value from the first result of a query.

get(array $columns = ['*'])

Execute the query as a "select" statement.

array
runSelect()

Run the query as a "select" statement against the connection.

paginate(int $perPage = 15, array $columns = ['*'], string $pageName = 'page', int|null $page = null)

Paginate the given query into a simple paginator.

simplePaginate(int $perPage = 15, array $columns = ['*'], string $pageName = 'page', int|null $page = null)

Get a paginator only supporting simple next and previous links.

int
getCountForPagination(array $columns = ['*'])

Get the count of the total records for the paginator.

array
runPaginationCountQuery(array $columns = ['*'])

Run a pagination count query.

array
withoutSelectAliases(array $columns)

Remove the column aliases since they will break count queries.

cursor()

Get a generator for the given query.

bool
chunkById(int $count, callable $callback, string $column = 'id', string $alias = null)

Chunk the results of a query by comparing numeric IDs.

void
enforceOrderBy()

Throw an exception if the query doesn't have an orderBy clause.

pluck(string $column, string|null $key = null)

Get an array with the values of a given column.

string|null
stripTableForPluck(string $column)

Strip off the table name or alias from a column identifier.

string
implode(string $column, string $glue = '')

Concatenate values of a given column as a string.

bool
exists()

Determine if any rows exist for the current query.

int
count(string $columns = '*')

Retrieve the "count" result of the query.

mixed
min(string $column)

Retrieve the minimum value of a given column.

mixed
max(string $column)

Retrieve the maximum value of a given column.

mixed
sum(string $column)

Retrieve the sum of the values of a given column.

mixed
avg(string $column)

Retrieve the average of the values of a given column.

mixed
average(string $column)

Alias for the "avg" method.

mixed
aggregate(string $function, array $columns = ['*'])

Execute an aggregate function on the database.

float|int
numericAggregate(string $function, array $columns = ['*'])

Execute a numeric aggregate function on the database.

$this
setAggregate(string $function, array $columns)

Set the aggregate property without running the query.

bool
insert(array $values)

Insert a new record into the database.

int
insertGetId(array $values, string $sequence = null)

Insert a new record and get the value of the primary key.

int
update(array $values)

Update a record in the database.

bool
updateOrInsert(array $attributes, array $values = [])

Insert or update a record matching the attributes, and fill it with values.

int
increment(string $column, int $amount = 1, array $extra = [])

Increment a column's value by a given amount.

int
decrement(string $column, int $amount = 1, array $extra = [])

Decrement a column's value by a given amount.

int
delete(mixed $id = null)

Delete a record from the database.

void
truncate()

Run a truncate statement on the table.

newQuery()

Get a new instance of the query builder.

raw(mixed $value)

Create a raw database expression.

array
getBindings()

Get the current query value bindings in a flattened array.

array
getRawBindings()

Get the raw array of bindings.

$this
setBindings(array $bindings, string $type = 'where')

Set the bindings on the query builder.

$this
addBinding(mixed $value, string $type = 'where')

Add a binding to the query.

$this
mergeBindings(Builder $query)

Merge an array of bindings into our bindings.

array
cleanBindings(array $bindings)

Remove all of the expressions from a list of bindings.

getConnection()

Get the database connection instance.

getProcessor()

Get the database query processor instance.

getGrammar()

Get the query grammar instance.

$this
useWritePdo()

Use the write pdo for query.

cloneWithout(array $except)

Clone the query without the given properties.

cloneWithoutBindings(array $except)

Clone the query without the given bindings.

Details

in BuildsQueries at line 18
bool chunk(int $count, callable $callback)

Chunk the results of the query.

Parameters

int $count
callable $callback

Return Value

bool

in BuildsQueries at line 56
bool each(callable $callback, int $count = 1000)

Execute a callback over each item while chunking.

Parameters

callable $callback
int $count

Return Value

bool

in BuildsQueries at line 73
Model|BuildsQueries|null first(array $columns = ['*'])

Execute the query and get the first result.

Parameters

array $columns

Return Value

Model|BuildsQueries|null

in BuildsQueries at line 86
mixed when(mixed $value, callable $callback, callable $default = null)

Apply the callback's query changes if the given "value" is true.

Parameters

mixed $value
callable $callback
callable $default

Return Value

mixed

in BuildsQueries at line 103
Builder tap(Closure $callback)

Pass the query to a given callback.

Parameters

Closure $callback

Return Value

Builder

in BuildsQueries at line 116
mixed unless(mixed $value, callable $callback, callable $default = null)

Apply the callback's query changes if the given "value" is false.

Parameters

mixed $value
callable $callback
callable $default

Return Value

mixed

in BuildsQueries at line 137
protected LengthAwarePaginator paginator(Collection $items, int $total, int $perPage, int $currentPage, array $options)

Create a new length-aware paginator instance.

Parameters

Collection $items
int $total
int $perPage
int $currentPage
array $options

Return Value

LengthAwarePaginator

in BuildsQueries at line 153
protected Paginator simplePaginator(Collection $items, int $perPage, int $currentPage, array $options)

Create a new simple paginator instance.

Parameters

Collection $items
int $perPage
int $currentPage
array $options

Return Value

Paginator

in Macroable at line 24
static void macro(string $name, callable $macro)

Register a custom macro.

Parameters

string $name
callable $macro

Return Value

void

in Macroable at line 35
static bool hasMacro(string $name)

Checks if macro is registered.

Parameters

string $name

Return Value

bool

in Macroable at line 49
static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

at line 2433
mixed __call(string $method, array $parameters)

Handle dynamic method calls into the method.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

at line 203
void __construct(ConnectionInterface $connection, Grammar $grammar = null, Processor $processor = null)

Create a new query builder instance.

Parameters

ConnectionInterface $connection
Grammar $grammar
Processor $processor

Return Value

void

at line 218
$this select(array|mixed $columns = ['*'])

Set the columns to be selected.

Parameters

array|mixed $columns

Return Value

$this

at line 232
Builder|Builder selectRaw(string $expression, array $bindings = [])

Add a new "raw" select expression to the query.

Parameters

string $expression
array $bindings

Return Value

Builder|Builder

at line 252
Builder|Builder selectSub(Closure|Builder|string $query, string $as)

Add a subselect expression to the query.

Parameters

Closure|Builder|string $query
string $as

Return Value

Builder|Builder

Exceptions

InvalidArgumentException

at line 279
protected array parseSubSelect(mixed $query)

Parse the sub-select query into SQL and bindings.

Parameters

mixed $query

Return Value

array

at line 298
$this addSelect(array|mixed $column)

Add a new select column to the query.

Parameters

array|mixed $column

Return Value

$this

at line 312
$this distinct()

Force the query to only return distinct results.

Return Value

$this

at line 325
$this from(string $table)

Set the table which the query is targeting.

Parameters

string $table

Return Value

$this

at line 343
$this join(string $table, string $first, string $operator = null, string $second = null, string $type = 'inner', bool $where = false)

Add a join clause to the query.

Parameters

string $table
string $first
string $operator
string $second
string $type
bool $where

Return Value

$this

at line 382
Builder|Builder joinWhere(string $table, string $first, string $operator, string $second, string $type = 'inner')

Add a "join where" clause to the query.

Parameters

string $table
string $first
string $operator
string $second
string $type

Return Value

Builder|Builder

at line 396
Builder|Builder leftJoin(string $table, string $first, string $operator = null, string $second = null)

Add a left join to the query.

Parameters

string $table
string $first
string $operator
string $second

Return Value

Builder|Builder

at line 410
Builder|Builder leftJoinWhere(string $table, string $first, string $operator, string $second)

Add a "join where" clause to the query.

Parameters

string $table
string $first
string $operator
string $second

Return Value

Builder|Builder

at line 424
Builder|Builder rightJoin(string $table, string $first, string $operator = null, string $second = null)

Add a right join to the query.

Parameters

string $table
string $first
string $operator
string $second

Return Value

Builder|Builder

at line 438
Builder|Builder rightJoinWhere(string $table, string $first, string $operator, string $second)

Add a "right join where" clause to the query.

Parameters

string $table
string $first
string $operator
string $second

Return Value

Builder|Builder

at line 452
Builder|Builder crossJoin(string $table, string $first = null, string $operator = null, string $second = null)

Add a "cross join" clause to the query.

Parameters

string $table
string $first
string $operator
string $second

Return Value

Builder|Builder

at line 470
void mergeWheres(array $wheres, array $bindings)

Merge an array of where clauses and bindings.

Parameters

array $wheres
array $bindings

Return Value

void

at line 488
$this where(string|array|Closure $column, string $operator = null, mixed $value = null, string $boolean = 'and')

Add a basic where clause to the query.

Parameters

string|array|Closure $column
string $operator
mixed $value
string $boolean

Return Value

$this

at line 563
protected $this addArrayOfWheres(array $column, string $boolean, string $method = 'where')

Add an array of where clauses to the query.

Parameters

array $column
string $boolean
string $method

Return Value

$this

at line 586
protected array prepareValueAndOperator(string $value, string $operator, bool $useDefault = false)

Prepare the value and operator for a where clause.

Parameters

string $value
string $operator
bool $useDefault

Return Value

array

Exceptions

InvalidArgumentException

at line 606
protected bool invalidOperatorAndValue(string $operator, mixed $value)

Determine if the given operator and value combination is legal.

Prevents using Null values with invalid operators.

Parameters

string $operator
mixed $value

Return Value

bool

at line 618
protected bool invalidOperator(string $operator)

Determine if the given operator is supported.

Parameters

string $operator

Return Value

bool

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

Add an "or where" clause to the query.

Parameters

string|array|Closure $column
string $operator
mixed $value

Return Value

Builder|Builder

at line 646
Builder|Builder whereColumn(string|array $first, string|null $operator = null, string|null $second = null, string|null $boolean = 'and')

Add a "where" clause comparing two columns to the query.

Parameters

string|array $first
string|null $operator
string|null $second
string|null $boolean

Return Value

Builder|Builder

at line 682
Builder|Builder orWhereColumn(string|array $first, string|null $operator = null, string|null $second = null)

Add an "or where" clause comparing two columns to the query.

Parameters

string|array $first
string|null $operator
string|null $second

Return Value

Builder|Builder

at line 695
$this whereRaw(string $sql, mixed $bindings = [], string $boolean = 'and')

Add a raw where clause to the query.

Parameters

string $sql
mixed $bindings
string $boolean

Return Value

$this

at line 711
Builder|Builder orWhereRaw(string $sql, mixed $bindings = [])

Add a raw or where clause to the query.

Parameters

string $sql
mixed $bindings

Return Value

Builder|Builder

at line 725
$this whereIn(string $column, mixed $values, string $boolean = 'and', bool $not = false)

Add a "where in" clause to the query.

Parameters

string $column
mixed $values
string $boolean
bool $not

Return Value

$this

at line 777
Builder|Builder orWhereIn(string $column, mixed $values)

Add an "or where in" clause to the query.

Parameters

string $column
mixed $values

Return Value

Builder|Builder

at line 790
Builder|Builder whereNotIn(string $column, mixed $values, string $boolean = 'and')

Add a "where not in" clause to the query.

Parameters

string $column
mixed $values
string $boolean

Return Value

Builder|Builder

at line 802
Builder|Builder orWhereNotIn(string $column, mixed $values)

Add an "or where not in" clause to the query.

Parameters

string $column
mixed $values

Return Value

Builder|Builder

at line 816
protected $this whereInSub(string $column, Closure $callback, string $boolean, bool $not)

Add a where in with a sub-select to the query.

Parameters

string $column
Closure $callback
string $boolean
bool $not

Return Value

$this

at line 841
protected $this whereInExistingQuery(string $column, Builder|Builder $query, string $boolean, bool $not)

Add an external sub-select to the query.

Parameters

string $column
Builder|Builder $query
string $boolean
bool $not

Return Value

$this

at line 860
$this whereNull(string $column, string $boolean = 'and', bool $not = false)

Add a "where null" clause to the query.

Parameters

string $column
string $boolean
bool $not

Return Value

$this

at line 875
Builder|Builder orWhereNull(string $column)

Add an "or where null" clause to the query.

Parameters

string $column

Return Value

Builder|Builder

at line 887
Builder|Builder whereNotNull(string $column, string $boolean = 'and')

Add a "where not null" clause to the query.

Parameters

string $column
string $boolean

Return Value

Builder|Builder

at line 901
$this whereBetween(string $column, array $values, string $boolean = 'and', bool $not = false)

Add a where between statement to the query.

Parameters

string $column
array $values
string $boolean
bool $not

Return Value

$this

at line 919
Builder|Builder orWhereBetween(string $column, array $values)

Add an or where between statement to the query.

Parameters

string $column
array $values

Return Value

Builder|Builder

at line 932
Builder|Builder whereNotBetween(string $column, array $values, string $boolean = 'and')

Add a where not between statement to the query.

Parameters

string $column
array $values
string $boolean

Return Value

Builder|Builder

at line 944
Builder|Builder orWhereNotBetween(string $column, array $values)

Add an or where not between statement to the query.

Parameters

string $column
array $values

Return Value

Builder|Builder

at line 955
Builder|Builder orWhereNotNull(string $column)

Add an "or where not null" clause to the query.

Parameters

string $column

Return Value

Builder|Builder

at line 969
Builder|Builder whereDate(string $column, string $operator, mixed $value = null, string $boolean = 'and')

Add a "where date" statement to the query.

Parameters

string $column
string $operator
mixed $value
string $boolean

Return Value

Builder|Builder

at line 986
Builder|Builder orWhereDate(string $column, string $operator, string $value)

Add an "or where date" statement to the query.

Parameters

string $column
string $operator
string $value

Return Value

Builder|Builder

at line 1000
Builder|Builder whereTime(string $column, string $operator, int $value, string $boolean = 'and')

Add a "where time" statement to the query.

Parameters

string $column
string $operator
int $value
string $boolean

Return Value

Builder|Builder

at line 1013
Builder|Builder orWhereTime(string $column, string $operator, int $value)

Add an "or where time" statement to the query.

Parameters

string $column
string $operator
int $value

Return Value

Builder|Builder

at line 1027
Builder|Builder whereDay(string $column, string $operator, mixed $value = null, string $boolean = 'and')

Add a "where day" statement to the query.

Parameters

string $column
string $operator
mixed $value
string $boolean

Return Value

Builder|Builder

at line 1045
Builder|Builder whereMonth(string $column, string $operator, mixed $value = null, string $boolean = 'and')

Add a "where month" statement to the query.

Parameters

string $column
string $operator
mixed $value
string $boolean

Return Value

Builder|Builder

at line 1063
Builder|Builder whereYear(string $column, string $operator, mixed $value = null, string $boolean = 'and')

Add a "where year" statement to the query.

Parameters

string $column
string $operator
mixed $value
string $boolean

Return Value

Builder|Builder

at line 1082
protected $this addDateBasedWhere(string $type, string $column, string $operator, int $value, string $boolean = 'and')

Add a date based (year, month, day, time) statement to the query.

Parameters

string $type
string $column
string $operator
int $value
string $boolean

Return Value

$this

at line 1098
Builder|Builder whereNested(Closure $callback, string $boolean = 'and')

Add a nested where statement to the query.

Parameters

Closure $callback
string $boolean

Return Value

Builder|Builder

at line 1110
Builder forNestedWhere()

Create a new query instance for nested where condition.

Return Value

Builder

at line 1122
$this addNestedWhereQuery(Builder|Builder $query, string $boolean = 'and')

Add another query builder as a nested where to the query builder.

Parameters

Builder|Builder $query
string $boolean

Return Value

$this

at line 1144
protected $this whereSub(string $column, string $operator, Closure $callback, string $boolean)

Add a full sub-select to the query.

Parameters

string $column
string $operator
Closure $callback
string $boolean

Return Value

$this

at line 1170
$this whereExists(Closure $callback, string $boolean = 'and', bool $not = false)

Add an exists clause to the query.

Parameters

Closure $callback
string $boolean
bool $not

Return Value

$this

at line 1189
Builder|Builder orWhereExists(Closure $callback, bool $not = false)

Add an or exists clause to the query.

Parameters

Closure $callback
bool $not

Return Value

Builder|Builder

at line 1201
Builder|Builder whereNotExists(Closure $callback, string $boolean = 'and')

Add a where not exists clause to the query.

Parameters

Closure $callback
string $boolean

Return Value

Builder|Builder

at line 1212
Builder|Builder orWhereNotExists(Closure $callback)

Add a where not exists clause to the query.

Parameters

Closure $callback

Return Value

Builder|Builder

at line 1225
$this addWhereExistsQuery(Builder $query, string $boolean = 'and', bool $not = false)

Add an exists clause to the query.

Parameters

Builder $query
string $boolean
bool $not

Return Value

$this

at line 1243
$this dynamicWhere(string $method, string $parameters)

Handles dynamic "where" clauses to the query.

Parameters

string $method
string $parameters

Return Value

$this

at line 1288
protected void addDynamic(string $segment, string $connector, array $parameters, int $index)

Add a single dynamic where clause statement to the query.

Parameters

string $segment
string $connector
array $parameters
int $index

Return Value

void

at line 1304
$this groupBy(array ...$groups)

Add a "group by" clause to the query.

Parameters

array ...$groups

Return Value

$this

at line 1325
$this having(string $column, string $operator = null, string $value = null, string $boolean = 'and')

Add a "having" clause to the query.

Parameters

string $column
string $operator
string $value
string $boolean

Return Value

$this

at line 1360
Builder|Builder orHaving(string $column, string $operator = null, string $value = null)

Add a "or having" clause to the query.

Parameters

string $column
string $operator
string $value

Return Value

Builder|Builder

at line 1373
$this havingRaw(string $sql, array $bindings = [], string $boolean = 'and')

Add a raw having clause to the query.

Parameters

string $sql
array $bindings
string $boolean

Return Value

$this

at line 1391
Builder|Builder orHavingRaw(string $sql, array $bindings = [])

Add a raw or having clause to the query.

Parameters

string $sql
array $bindings

Return Value

Builder|Builder

at line 1403
$this orderBy(string $column, string $direction = 'asc')

Add an "order by" clause to the query.

Parameters

string $column
string $direction

Return Value

$this

at line 1419
$this orderByDesc(string $column)

Add a descending "order by" clause to the query.

Parameters

string $column

Return Value

$this

at line 1430
Builder|Builder latest(string $column = 'created_at')

Add an "order by" clause for a timestamp to the query.

Parameters

string $column

Return Value

Builder|Builder

at line 1441
Builder|Builder oldest(string $column = 'created_at')

Add an "order by" clause for a timestamp to the query.

Parameters

string $column

Return Value

Builder|Builder

at line 1452
$this inRandomOrder(string $seed = '')

Put the query's results in random order.

Parameters

string $seed

Return Value

$this

at line 1464
$this orderByRaw(string $sql, array $bindings = [])

Add a raw "order by" clause to the query.

Parameters

string $sql
array $bindings

Return Value

$this

at line 1481
Builder|Builder skip(int $value)

Alias to set the "offset" value of the query.

Parameters

int $value

Return Value

Builder|Builder

at line 1492
$this offset(int $value)

Set the "offset" value of the query.

Parameters

int $value

Return Value

$this

at line 1507
Builder|Builder take(int $value)

Alias to set the "limit" value of the query.

Parameters

int $value

Return Value

Builder|Builder

at line 1518
$this limit(int $value)

Set the "limit" value of the query.

Parameters

int $value

Return Value

$this

at line 1536
Builder|Builder forPage(int $page, int $perPage = 15)

Set the limit and offset for a given page.

Parameters

int $page
int $perPage

Return Value

Builder|Builder

at line 1549
Builder|Builder forPageAfterId(int $perPage = 15, int $lastId = 0, string $column = 'id')

Constrain the query to the next "page" of results after a given ID.

Parameters

int $perPage
int $lastId
string $column

Return Value

Builder|Builder

at line 1564
protected array removeExistingOrdersFor(string $column)

Get an array with all orders with a given column removed.

Parameters

string $column

Return Value

array

at line 1580
Builder|Builder union(Builder|Closure $query, bool $all = false)

Add a union statement to the query.

Parameters

Builder|Closure $query
bool $all

Return Value

Builder|Builder

at line 1599
Builder|Builder unionAll(Builder|Closure $query)

Add a union all statement to the query.

Parameters

Builder|Closure $query

Return Value

Builder|Builder

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

Lock the selected rows in the table.

Parameters

string|bool $value

Return Value

$this

at line 1626
Builder lockForUpdate()

Lock the selected rows in the table for updating.

Return Value

Builder

at line 1636
Builder sharedLock()

Share lock the selected rows in the table.

Return Value

Builder

at line 1646
string toSql()

Get the SQL representation of the query.

Return Value

string

at line 1658
mixed|Builder find(int $id, array $columns = ['*'])

Execute a query for a single record by ID.

Parameters

int $id
array $columns

Return Value

mixed|Builder

at line 1669
mixed value(string $column)

Get a single column's value from the first result of a query.

Parameters

string $column

Return Value

mixed

at line 1682
Collection get(array $columns = ['*'])

Execute the query as a "select" statement.

Parameters

array $columns

Return Value

Collection

at line 1702
protected array runSelect()

Run the query as a "select" statement against the connection.

Return Value

array

at line 1718
LengthAwarePaginator paginate(int $perPage = 15, array $columns = ['*'], string $pageName = 'page', int|null $page = null)

Paginate the given query into a simple paginator.

Parameters

int $perPage
array $columns
string $pageName
int|null $page

Return Value

LengthAwarePaginator

at line 1743
Paginator simplePaginate(int $perPage = 15, array $columns = ['*'], string $pageName = 'page', int|null $page = null)

Get a paginator only supporting simple next and previous links.

This is more efficient on larger data-sets, etc.

Parameters

int $perPage
array $columns
string $pageName
int|null $page

Return Value

Paginator

at line 1761
int getCountForPagination(array $columns = ['*'])

Get the count of the total records for the paginator.

Parameters

array $columns

Return Value

int

at line 1785
protected array runPaginationCountQuery(array $columns = ['*'])

Run a pagination count query.

Parameters

array $columns

Return Value

array

at line 1799
protected array withoutSelectAliases(array $columns)

Remove the column aliases since they will break count queries.

Parameters

array $columns

Return Value

array

at line 1812
Generator cursor()

Get a generator for the given query.

Return Value

Generator

at line 1832
bool chunkById(int $count, callable $callback, string $column = 'id', string $alias = null)

Chunk the results of a query by comparing numeric IDs.

Parameters

int $count
callable $callback
string $column
string $alias

Return Value

bool

at line 1872
protected void enforceOrderBy()

Throw an exception if the query doesn't have an orderBy clause.

Return Value

void

Exceptions

RuntimeException

at line 1886
Collection pluck(string $column, string|null $key = null)

Get an array with the values of a given column.

Parameters

string $column
string|null $key

Return Value

Collection

at line 1905
protected string|null stripTableForPluck(string $column)

Strip off the table name or alias from a column identifier.

Parameters

string $column

Return Value

string|null

at line 1917
string implode(string $column, string $glue = '')

Concatenate values of a given column as a string.

Parameters

string $column
string $glue

Return Value

string

at line 1927
bool exists()

Determine if any rows exist for the current query.

Return Value

bool

at line 1951
int count(string $columns = '*')

Retrieve the "count" result of the query.

Parameters

string $columns

Return Value

int

at line 1962
mixed min(string $column)

Retrieve the minimum value of a given column.

Parameters

string $column

Return Value

mixed

at line 1973
mixed max(string $column)

Retrieve the maximum value of a given column.

Parameters

string $column

Return Value

mixed

at line 1984
mixed sum(string $column)

Retrieve the sum of the values of a given column.

Parameters

string $column

Return Value

mixed

at line 1997
mixed avg(string $column)

Retrieve the average of the values of a given column.

Parameters

string $column

Return Value

mixed

at line 2008
mixed average(string $column)

Alias for the "avg" method.

Parameters

string $column

Return Value

mixed

at line 2020
mixed aggregate(string $function, array $columns = ['*'])

Execute an aggregate function on the database.

Parameters

string $function
array $columns

Return Value

mixed

at line 2039
float|int numericAggregate(string $function, array $columns = ['*'])

Execute a numeric aggregate function on the database.

Parameters

string $function
array $columns

Return Value

float|int

at line 2068
protected $this setAggregate(string $function, array $columns)

Set the aggregate property without running the query.

Parameters

string $function
array $columns

Return Value

$this

at line 2087
bool insert(array $values)

Insert a new record into the database.

Parameters

array $values

Return Value

bool

at line 2127
int insertGetId(array $values, string $sequence = null)

Insert a new record and get the value of the primary key.

Parameters

array $values
string $sequence

Return Value

int

at line 2142
int update(array $values)

Update a record in the database.

Parameters

array $values

Return Value

int

at line 2158
bool updateOrInsert(array $attributes, array $values = [])

Insert or update a record matching the attributes, and fill it with values.

Parameters

array $attributes
array $values

Return Value

bool

at line 2175
int increment(string $column, int $amount = 1, array $extra = [])

Increment a column's value by a given amount.

Parameters

string $column
int $amount
array $extra

Return Value

int

at line 2196
int decrement(string $column, int $amount = 1, array $extra = [])

Decrement a column's value by a given amount.

Parameters

string $column
int $amount
array $extra

Return Value

int

at line 2215
int delete(mixed $id = null)

Delete a record from the database.

Parameters

mixed $id

Return Value

int

at line 2234
void truncate()

Run a truncate statement on the table.

Return Value

void

at line 2246
Builder newQuery()

Get a new instance of the query builder.

Return Value

Builder

at line 2257
Expression raw(mixed $value)

Create a raw database expression.

Parameters

mixed $value

Return Value

Expression

at line 2267
array getBindings()

Get the current query value bindings in a flattened array.

Return Value

array

at line 2277
array getRawBindings()

Get the raw array of bindings.

Return Value

array

at line 2291
$this setBindings(array $bindings, string $type = 'where')

Set the bindings on the query builder.

Parameters

array $bindings
string $type

Return Value

$this

Exceptions

InvalidArgumentException

at line 2311
$this addBinding(mixed $value, string $type = 'where')

Add a binding to the query.

Parameters

mixed $value
string $type

Return Value

$this

Exceptions

InvalidArgumentException

at line 2332
$this mergeBindings(Builder $query)

Merge an array of bindings into our bindings.

Parameters

Builder $query

Return Value

$this

at line 2345
protected array cleanBindings(array $bindings)

Remove all of the expressions from a list of bindings.

Parameters

array $bindings

Return Value

array

at line 2357
ConnectionInterface getConnection()

Get the database connection instance.

Return Value

ConnectionInterface

at line 2367
Processor getProcessor()

Get the database query processor instance.

Return Value

Processor

at line 2377
Grammar getGrammar()

Get the query grammar instance.

Return Value

Grammar

at line 2387
$this useWritePdo()

Use the write pdo for query.

Return Value

$this

at line 2400
Builder cloneWithout(array $except)

Clone the query without the given properties.

Parameters

array $except

Return Value

Builder

at line 2415
Builder cloneWithoutBindings(array $except)

Clone the query without the given bindings.

Parameters

array $except

Return Value

Builder