W3cubDocs

/Laravel 5.4

Builder

class Builder (View source)

Traits

QueriesRelationships

Methods

Builder|QueriesRelationships has(string $relation, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure $callback = null)

Add a relationship count / exists condition to the query.

from QueriesRelationships
Builder|QueriesRelationships orHas(string $relation, string $operator = '>=', int $count = 1)

Add a relationship count / exists condition to the query with an "or".

from QueriesRelationships
Builder|QueriesRelationships doesntHave(string $relation, string $boolean = 'and', Closure $callback = null)

Add a relationship count / exists condition to the query.

from QueriesRelationships
Builder|QueriesRelationships whereHas(string $relation, Closure $callback = null, string $operator = '>=', int $count = 1)

Add a relationship count / exists condition to the query with where clauses.

from QueriesRelationships
Builder|QueriesRelationships orWhereHas(string $relation, Closure $callback = null, string $operator = '>=', int $count = 1)

Add a relationship count / exists condition to the query with where clauses and an "or".

from QueriesRelationships
Builder|QueriesRelationships whereDoesntHave(string $relation, Closure $callback = null)

Add a relationship count / exists condition to the query with where clauses.

from QueriesRelationships
$this withCount(mixed $relations)

Add subselect queries to count the relations.

from QueriesRelationships
Builder|QueriesRelationships mergeConstraintsFrom(Builder $from)

Merge the where constraints from another query to the current query.

from QueriesRelationships
void __construct(Builder $query)

Create a new Eloquent query builder instance.

$this withGlobalScope(string $identifier, Scope|Closure $scope)

Register a new global scope.

$this withoutGlobalScope(Scope|string $scope)

Remove a registered global scope.

$this withoutGlobalScopes(array $scopes = null)

Remove all or passed registered global scopes.

array removedScopes()

Get an array of global scopes that were removed from the query.

$this when(bool $value, Closure $callback, Closure $default = null)

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

$this whereKey(mixed $id)

Add a where clause on the primary key to the query.

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

Add a basic where clause to the query.

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

Add an "or where" clause to the query.

Collection hydrate(array $items)

Create a collection of models from plain arrays.

Collection fromQuery(string $query, array $bindings = array())

Create a collection of models from a raw query.

mixed find(mixed $id, array $columns = array('*'))

Find a model by its primary key.

Collection findMany(array $ids, array $columns = array('*'))

Find multiple models by their primary keys.

Model|Collection findOrFail(mixed $id, array $columns = array('*'))

Find a model by its primary key or throw an exception.

Model findOrNew(mixed $id, array $columns = array('*'))

Find a model by its primary key or return fresh model instance.

Model firstOrNew(array $attributes, array $values = array())

Get the first record matching the attributes or instantiate it.

Model firstOrCreate(array $attributes, array $values = array())

Get the first record matching the attributes or create it.

Model updateOrCreate(array $attributes, array $values = array())

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

Model|Builder|null first(array $columns = array('*'))

Execute the query and get the first result.

Model|Builder firstOrFail(array $columns = array('*'))

Execute the query and get the first result or throw an exception.

Model|Builder|mixed firstOr(Closure|array $columns = array('*'), Closure $callback = null)

Execute the query and get the first result or call a callback.

mixed value(string $column)

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

Collection|Builder[] get(array $columns = array('*'))

Execute the query as a "select" statement.

Model[] getModels(array $columns = array('*'))

Get the hydrated models without eager loading.

array eagerLoadRelations(array $models)

Eager load the relationships for the models.

Relation getRelation(string $name)

Get the relation instance for the given relation name.

Generator cursor()

Get a generator for the given query.

bool chunk(int $count, callable $callback)

Chunk the results of the query.

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

Chunk the results of a query by comparing numeric IDs.

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

Execute a callback over each item while chunking.

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

Get an array with the values of a given column.

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

Paginate the given query.

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

Paginate the given query into a simple paginator.

Model create(array $attributes = array())

Save a new model and return the instance.

Model forceCreate(array $attributes)

Save a new model and return the instance. Allow mass-assignment.

int update(array $values)

Update a record in the database.

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

Increment a column's value by a given amount.

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

Decrement a column's value by a given amount.

mixed delete()

Delete a record from the database.

mixed forceDelete()

Run the default delete function on the builder.

void onDelete(Closure $callback)

Register a replacement for the default delete function.

mixed scopes(array $scopes)

Call the given local model scopes.

Builder|Builder applyScopes()

Apply the scopes to the Eloquent builder instance and return it.

$this with(mixed $relations)

Set the relationships that should be eager loaded.

$this without(mixed $relations)

Prevent the specified relations from being eager loaded.

Builder getQuery()

Get the underlying query builder instance.

$this setQuery(Builder $query)

Set the underlying query builder instance.

Builder toBase()

Get a base query builder instance.

array getEagerLoads()

Get the relationships being eagerly loaded.

$this setEagerLoads(array $eagerLoad)

Set the relationships being eagerly loaded.

Model getModel()

Get the model instance being queried.

$this setModel(Model $model)

Set a model instance for the model being queried.

Closure getMacro(string $name)

Get the given macro by name.

mixed __call(string $method, array $parameters)

Dynamically handle calls into the query instance.

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

Dynamically handle calls into the query instance.

void __clone()

Force a clone of the underlying query builder when cloning.

Details

Builder|QueriesRelationships has(string $relation, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure $callback = null)

Add a relationship count / exists condition to the query.

Parameters

string $relation
string $operator
int $count
string $boolean
Closure $callback

Return Value

Builder|QueriesRelationships

Builder|QueriesRelationships orHas(string $relation, string $operator = '>=', int $count = 1)

Add a relationship count / exists condition to the query with an "or".

Parameters

string $relation
string $operator
int $count

Return Value

Builder|QueriesRelationships

Builder|QueriesRelationships doesntHave(string $relation, string $boolean = 'and', Closure $callback = null)

Add a relationship count / exists condition to the query.

Parameters

string $relation
string $boolean
Closure $callback

Return Value

Builder|QueriesRelationships

Builder|QueriesRelationships whereHas(string $relation, Closure $callback = null, string $operator = '>=', int $count = 1)

Add a relationship count / exists condition to the query with where clauses.

Parameters

string $relation
Closure $callback
string $operator
int $count

Return Value

Builder|QueriesRelationships

Builder|QueriesRelationships orWhereHas(string $relation, Closure $callback = null, string $operator = '>=', int $count = 1)

Add a relationship count / exists condition to the query with where clauses and an "or".

Parameters

string $relation
Closure $callback
string $operator
int $count

Return Value

Builder|QueriesRelationships

Builder|QueriesRelationships whereDoesntHave(string $relation, Closure $callback = null)

Add a relationship count / exists condition to the query with where clauses.

Parameters

string $relation
Closure $callback

Return Value

Builder|QueriesRelationships

$this withCount(mixed $relations)

Add subselect queries to count the relations.

Parameters

mixed $relations

Return Value

$this

Builder|QueriesRelationships mergeConstraintsFrom(Builder $from)

Merge the where constraints from another query to the current query.

Parameters

Builder $from

Return Value

Builder|QueriesRelationships

void __construct(Builder $query)

Create a new Eloquent query builder instance.

Parameters

Builder $query

Return Value

void

$this withGlobalScope(string $identifier, Scope|Closure $scope)

Register a new global scope.

Parameters

string $identifier
Scope|Closure $scope

Return Value

$this

$this withoutGlobalScope(Scope|string $scope)

Remove a registered global scope.

Parameters

Scope|string $scope

Return Value

$this

$this withoutGlobalScopes(array $scopes = null)

Remove all or passed registered global scopes.

Parameters

array $scopes

Return Value

$this

array removedScopes()

Get an array of global scopes that were removed from the query.

Return Value

array

$this when(bool $value, Closure $callback, Closure $default = null)

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

Parameters

bool $value
Closure $callback
Closure $default

Return Value

$this

$this whereKey(mixed $id)

Add a where clause on the primary key to the query.

Parameters

mixed $id

Return Value

$this

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

Add a basic where clause to the query.

Parameters

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

Return Value

$this

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

Add an "or where" clause to the query.

Parameters

string|Closure $column
string $operator
mixed $value

Return Value

Builder|Builder

Collection hydrate(array $items)

Create a collection of models from plain arrays.

Parameters

array $items

Return Value

Collection

Collection fromQuery(string $query, array $bindings = array())

Create a collection of models from a raw query.

Parameters

string $query
array $bindings

Return Value

Collection

mixed find(mixed $id, array $columns = array('*'))

Find a model by its primary key.

Parameters

mixed $id
array $columns

Return Value

mixed

Collection findMany(array $ids, array $columns = array('*'))

Find multiple models by their primary keys.

Parameters

array $ids
array $columns

Return Value

Collection

Model|Collection findOrFail(mixed $id, array $columns = array('*'))

Find a model by its primary key or throw an exception.

Parameters

mixed $id
array $columns

Return Value

Model|Collection

Exceptions

ModelNotFoundException

Model findOrNew(mixed $id, array $columns = array('*'))

Find a model by its primary key or return fresh model instance.

Parameters

mixed $id
array $columns

Return Value

Model

Model firstOrNew(array $attributes, array $values = array())

Get the first record matching the attributes or instantiate it.

Parameters

array $attributes
array $values

Return Value

Model

Model firstOrCreate(array $attributes, array $values = array())

Get the first record matching the attributes or create it.

Parameters

array $attributes
array $values

Return Value

Model

Model updateOrCreate(array $attributes, array $values = array())

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

Parameters

array $attributes
array $values

Return Value

Model

Model|Builder|null first(array $columns = array('*'))

Execute the query and get the first result.

Parameters

array $columns

Return Value

Model|Builder|null

Model|Builder firstOrFail(array $columns = array('*'))

Execute the query and get the first result or throw an exception.

Parameters

array $columns

Return Value

Model|Builder

Exceptions

ModelNotFoundException

Model|Builder|mixed firstOr(Closure|array $columns = array('*'), Closure $callback = null)

Execute the query and get the first result or call a callback.

Parameters

Closure|array $columns
Closure $callback

Return Value

Model|Builder|mixed

mixed value(string $column)

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

Parameters

string $column

Return Value

mixed

Collection|Builder[] get(array $columns = array('*'))

Execute the query as a "select" statement.

Parameters

array $columns

Return Value

Collection|Builder[]

Model[] getModels(array $columns = array('*'))

Get the hydrated models without eager loading.

Parameters

array $columns

Return Value

Model[]

array eagerLoadRelations(array $models)

Eager load the relationships for the models.

Parameters

array $models

Return Value

array

Relation getRelation(string $name)

Get the relation instance for the given relation name.

Parameters

string $name

Return Value

Relation

Generator cursor()

Get a generator for the given query.

Return Value

Generator

bool chunk(int $count, callable $callback)

Chunk the results of the query.

Parameters

int $count
callable $callback

Return Value

bool

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

Chunk the results of a query by comparing numeric IDs.

Parameters

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

Return Value

bool

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

Execute a callback over each item while chunking.

Parameters

callable $callback
int $count

Return Value

bool

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

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

Paginate the given query.

Parameters

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

Return Value

LengthAwarePaginator

Exceptions

InvalidArgumentException

Paginator simplePaginate(int $perPage = null, array $columns = array('*'), 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

Paginator

Model create(array $attributes = array())

Save a new model and return the instance.

Parameters

array $attributes

Return Value

Model

Model forceCreate(array $attributes)

Save a new model and return the instance. Allow mass-assignment.

Parameters

array $attributes

Return Value

Model

int update(array $values)

Update a record in the database.

Parameters

array $values

Return Value

int

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

Increment a column's value by a given amount.

Parameters

string $column
int $amount
array $extra

Return Value

int

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

Decrement a column's value by a given amount.

Parameters

string $column
int $amount
array $extra

Return Value

int

mixed delete()

Delete a record from the database.

Return Value

mixed

mixed forceDelete()

Run the default delete function on the builder.

Since we do not apply scopes here, the row will actually be deleted.

Return Value

mixed

void onDelete(Closure $callback)

Register a replacement for the default delete function.

Parameters

Closure $callback

Return Value

void

mixed scopes(array $scopes)

Call the given local model scopes.

Parameters

array $scopes

Return Value

mixed

Builder|Builder applyScopes()

Apply the scopes to the Eloquent builder instance and return it.

Return Value

Builder|Builder

$this with(mixed $relations)

Set the relationships that should be eager loaded.

Parameters

mixed $relations

Return Value

$this

$this without(mixed $relations)

Prevent the specified relations from being eager loaded.

Parameters

mixed $relations

Return Value

$this

Builder getQuery()

Get the underlying query builder instance.

Return Value

Builder

$this setQuery(Builder $query)

Set the underlying query builder instance.

Parameters

Builder $query

Return Value

$this

Builder toBase()

Get a base query builder instance.

Return Value

Builder

array getEagerLoads()

Get the relationships being eagerly loaded.

Return Value

array

$this setEagerLoads(array $eagerLoad)

Set the relationships being eagerly loaded.

Parameters

array $eagerLoad

Return Value

$this

Model getModel()

Get the model instance being queried.

Return Value

Model

$this setModel(Model $model)

Set a model instance for the model being queried.

Parameters

Model $model

Return Value

$this

Closure getMacro(string $name)

Get the given macro by name.

Parameters

string $name

Return Value

Closure

mixed __call(string $method, array $parameters)

Dynamically handle calls into the query instance.

Parameters

string $method
array $parameters

Return Value

mixed

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

Dynamically handle calls into the query instance.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

void __clone()

Force a clone of the underlying query builder when cloning.

Return Value

void

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.4/Illuminate/Database/Eloquent/Builder.html