class Builder implements Builder mixin Builder (View source)
| BuildsQueries | |
| ForwardsCalls | |
| QueriesRelationships | |
| Conditionable |
| protected Builder | $query | The base query builder instance. | |
| protected TModel | $model | The model being queried. | |
| protected array | $eagerLoad | The relationships that should be eager loaded. | |
| static protected array | $macros | All of the globally registered builder macros. | |
| protected array | $localMacros | All of the locally registered builder macros. | |
| protected Closure | $onDelete | A replacement for the typical delete function. | |
| protected string[] | $propertyPassthru | The properties that should be returned from query builder. | |
| protected string[] | $passthru | The methods that should be returned from query builder. | |
| protected array | $scopes | Applied global scopes. | |
| protected array | $removedScopes | Removed global scopes. | |
| protected array | $afterQueryCallbacks | The callbacks that should be invoked after retrieving data from the database. | |
| HigherOrderBuilderProxy read-only | $orWhere | ||
| HigherOrderBuilderProxy read-only | $whereNot | ||
| HigherOrderBuilderProxy read-only | $orWhereNot |
| $this|TWhenReturnType | when($value = null, callable|null $callback = null, callable|null $default = null)
Apply the callback if the given "value" is (or resolves to) truthy. | from Conditionable |
| $this|TUnlessReturnType | unless($value = null, callable|null $callback = null, callable|null $default = null)
Apply the callback if the given "value" is (or resolves to) falsy. | from Conditionable |
| bool | chunk(int $count, callable $callback)
Chunk the results of the query. | from BuildsQueries |
| TReturn> | chunkMap(callable $callback, int $count = 1000)
Run a map over each item while chunking. | from BuildsQueries |
| bool | each(callable $callback, int $count = 1000)
Execute a callback over each item while chunking. | from BuildsQueries |
| bool | chunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null)
Chunk the results of a query by comparing IDs. | from BuildsQueries |
| bool | chunkByIdDesc(int $count, callable $callback, string|null $column = null, string|null $alias = null)
Chunk the results of a query by comparing IDs in descending order. | from BuildsQueries |
| bool | orderedChunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null, bool $descending = false)
Chunk the results of a query by comparing IDs in a given order. | from BuildsQueries |
| bool | eachById(callable $callback, int $count = 1000, string|null $column = null, string|null $alias = null)
Execute a callback over each item while chunking by ID. | from BuildsQueries |
| LazyCollection | lazy(int $chunkSize = 1000)
Query lazily, by chunks of the given size. | from BuildsQueries |
| LazyCollection | lazyById(int $chunkSize = 1000, string|null $column = null, string|null $alias = null)
Query lazily, by chunking the results of a query by comparing IDs. | from BuildsQueries |
| LazyCollection | lazyByIdDesc(int $chunkSize = 1000, string|null $column = null, string|null $alias = null)
Query lazily, by chunking the results of a query by comparing IDs in descending order. | from BuildsQueries |
| LazyCollection | orderedLazyById(int $chunkSize = 1000, string|null $column = null, string|null $alias = null, bool $descending = false)
Query lazily, by chunking the results of a query by comparing IDs in a given order. | from BuildsQueries |
| TValue|null | first(array|string $columns = ['*'])
Execute the query and get the first result. | from BuildsQueries |
| TModel | sole(array|string $columns = ['*'])
Execute the query and get the first result if it's the sole matching record. | |
| CursorPaginator | paginateUsingCursor(int $perPage, array|string $columns = ['*'], string $cursorName = 'cursor', Cursor|string|null $cursor = null)
Paginate the given query using a cursor paginator. | from BuildsQueries |
| string | getOriginalColumnNameForCursorPagination($builder, string $parameter)
Get the original column name of the given column, without any aliasing. | from BuildsQueries |
| LengthAwarePaginator | paginator(Collection $items, int $total, int $perPage, int $currentPage, array $options)
Create a new length-aware paginator instance. | from BuildsQueries |
| Paginator | simplePaginator(Collection $items, int $perPage, int $currentPage, array $options)
Create a new simple paginator instance. | from BuildsQueries |
| CursorPaginator | cursorPaginator(Collection $items, int $perPage, Cursor $cursor, array $options)
Create a new cursor paginator instance. | from BuildsQueries |
| $this | tap($callback)
Pass the query to a given callback. | from BuildsQueries |
| mixed | forwardCallTo(mixed $object, string $method, array $parameters)
Forward a method call to the given object. | from ForwardsCalls |
| mixed | forwardDecoratedCallTo(mixed $object, string $method, array $parameters)
Forward a method call to the given object, returning $this if the forwarded call returned itself. | from ForwardsCalls |
| static void | throwBadMethodCallException(string $method)
Throw a bad method call exception for the given method. | from ForwardsCalls |
| $this | has($relation, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure|null $callback = null)
Add a relationship count / exists condition to the query. | from QueriesRelationships |
| $this | hasNested(string $relations, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure|null $callback = null)
Add nested relationship count / exists conditions to the query. | from QueriesRelationships |
| $this | orHas($relation, string $operator = '>=', int $count = 1)
Add a relationship count / exists condition to the query with an "or". | from QueriesRelationships |
| $this | doesntHave($relation, string $boolean = 'and', Closure|null $callback = null)
Add a relationship count / exists condition to the query. | from QueriesRelationships |
| $this | orDoesntHave($relation)
Add a relationship count / exists condition to the query with an "or". | from QueriesRelationships |
| $this | whereHas($relation, Closure|null $callback = null, string $operator = '>=', int $count = 1)
Add a relationship count / exists condition to the query with where clauses. | from QueriesRelationships |
| $this | withWhereHas($relation, Closure|null $callback = null, string $operator = '>=', int $count = 1)
Add a relationship count / exists condition to the query with where clauses. | from QueriesRelationships |
| $this | orWhereHas($relation, Closure|null $callback = null, string $operator = '>=', int $count = 1)
Add a relationship count / exists condition to the query with where clauses and an "or". | from QueriesRelationships |
| $this | whereDoesntHave($relation, Closure|null $callback = null)
Add a relationship count / exists condition to the query with where clauses. | from QueriesRelationships |
| $this | orWhereDoesntHave($relation, Closure|null $callback = null)
Add a relationship count / exists condition to the query with where clauses and an "or". | from QueriesRelationships |
| $this | hasMorph($relation, string|array $types, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure|null $callback = null)
Add a polymorphic relationship count / exists condition to the query. | from QueriesRelationships |
| TDeclaringModel> | getBelongsToRelation(MorphTo $relation, TRelatedModel> $type)
Get the BelongsTo relationship for a single polymorphic type. | from QueriesRelationships |
| $this | orHasMorph($relation, string|array $types, string $operator = '>=', int $count = 1)
Add a polymorphic relationship count / exists condition to the query with an "or". | from QueriesRelationships |
| $this | doesntHaveMorph($relation, string|array $types, string $boolean = 'and', Closure|null $callback = null)
Add a polymorphic relationship count / exists condition to the query. | from QueriesRelationships |
| $this | orDoesntHaveMorph($relation, string|array $types)
Add a polymorphic relationship count / exists condition to the query with an "or". | from QueriesRelationships |
| $this | whereHasMorph($relation, string|array $types, Closure|null $callback = null, string $operator = '>=', int $count = 1)
Add a polymorphic relationship count / exists condition to the query with where clauses. | from QueriesRelationships |
| $this | orWhereHasMorph($relation, string|array $types, Closure|null $callback = null, string $operator = '>=', int $count = 1)
Add a polymorphic relationship count / exists condition to the query with where clauses and an "or". | from QueriesRelationships |
| $this | whereDoesntHaveMorph($relation, string|array $types, Closure|null $callback = null)
Add a polymorphic relationship count / exists condition to the query with where clauses. | from QueriesRelationships |
| $this | orWhereDoesntHaveMorph($relation, string|array $types, Closure|null $callback = null)
Add a polymorphic relationship count / exists condition to the query with where clauses and an "or". | from QueriesRelationships |
| $this | whereRelation($relation, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Add a basic where clause to a relationship query. | from QueriesRelationships |
| $this | orWhereRelation($relation, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Add an "or where" clause to a relationship query. | from QueriesRelationships |
| $this | whereMorphRelation($relation, string|array $types, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Add a polymorphic relationship condition to the query with a where clause. | from QueriesRelationships |
| $this | orWhereMorphRelation($relation, string|array $types, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Add a polymorphic relationship condition to the query with an "or where" clause. | from QueriesRelationships |
| $this | whereMorphedTo($relation, Model|string|null $model, $boolean = 'and')
Add a morph-to relationship condition to the query. | from QueriesRelationships |
| $this | whereNotMorphedTo($relation, Model|string $model, $boolean = 'and')
Add a not morph-to relationship condition to the query. | from QueriesRelationships |
| $this | orWhereMorphedTo($relation, Model|string|null $model)
Add a morph-to relationship condition to the query with an "or where" clause. | from QueriesRelationships |
| $this | orWhereNotMorphedTo($relation, Model|string $model)
Add a not morph-to relationship condition to the query with an "or where" clause. | from QueriesRelationships |
| $this | whereBelongsTo(Model|Model> $related, string|null $relationshipName = null, string $boolean = 'and')
Add a "belongs to" relationship where clause to the query. | from QueriesRelationships |
| $this | orWhereBelongsTo(Model $related, string|null $relationshipName = null)
Add an "BelongsTo" relationship with an "or where" clause to the query. | from QueriesRelationships |
| $this | withAggregate(mixed $relations, Expression|string $column, string $function = null)
Add subselect queries to include an aggregate value for a relationship. | from QueriesRelationships |
| string | getRelationHashedColumn(string $column, $relation)
Get the relation hashed column name for the given column and relation. | from QueriesRelationships |
| $this | withCount(mixed $relations)
Add subselect queries to count the relations. | from QueriesRelationships |
| $this | withMax(string|array $relation, Expression|string $column)
Add subselect queries to include the max of the relation's column. | from QueriesRelationships |
| $this | withMin(string|array $relation, Expression|string $column)
Add subselect queries to include the min of the relation's column. | from QueriesRelationships |
| $this | withSum(string|array $relation, Expression|string $column)
Add subselect queries to include the sum of the relation's column. | from QueriesRelationships |
| $this | withAvg(string|array $relation, Expression|string $column)
Add subselect queries to include the average of the relation's column. | from QueriesRelationships |
| $this | withExists(string|array $relation)
Add subselect queries to include the existence of related models. | from QueriesRelationships |
| $this | addHasWhere(Builder $hasQuery, Relation $relation, string $operator, int $count, string $boolean)
Add the "has" condition where clause to the query. | from QueriesRelationships |
| $this | mergeConstraintsFrom(Builder $from)
Merge the where constraints from another query to the current query. | from QueriesRelationships |
| array | requalifyWhereTables(array $wheres, string $from, string $to)
Updates the table name for any columns with a new qualified name. | from QueriesRelationships |
| $this | addWhereCountQuery(Builder $query, string $operator = '>=', int $count = 1, string $boolean = 'and')
Add a sub-query count clause to this query. | from QueriesRelationships |
| getRelationWithoutConstraints(string $relation)
Get the "has relation" base query instance. | from QueriesRelationships | |
| bool | canUseExistsForExistenceCheck(string $operator, int $count)
Check if we can run an "exists" query to optimize performance. | from QueriesRelationships |
| void | __construct(Builder $query)
Create a new Eloquent query builder instance. | |
| TModel | make(array $attributes = [])
Create and return an un-saved model 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|null $scopes = null)
Remove all or passed registered global scopes. | |
| array | removedScopes()
Get an array of global scopes that were removed from the query. | |
| $this | whereKey(mixed $id)
Add a where clause on the primary key to the query. | |
| $this | whereKeyNot(mixed $id)
Add a where clause on the primary key to the query. | |
| $this | where($column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Add a basic where clause to the query. | |
| TModel|null | firstWhere($column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Add a basic where clause to the query, and return the first result. | |
| $this | orWhere($column, mixed $operator = null, mixed $value = null)
Add an "or where" clause to the query. | |
| $this | whereNot($column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Add a basic "where not" clause to the query. | |
| $this | orWhereNot($column, mixed $operator = null, mixed $value = null)
Add an "or where not" clause to the query. | |
| $this | latest(string|Expression $column = null)
Add an "order by" clause for a timestamp to the query. | |
| $this | oldest(string|Expression $column = null)
Add an "order by" clause for a timestamp to the query. | |
| TModel> | hydrate(array $items)
Create a collection of models from plain arrays. | |
| TModel> | fromQuery(string $query, array $bindings = [])
Create a collection of models from a raw query. | |
| find(mixed $id, array|string $columns = ['*'])
Find a model by its primary key. | ||
| TModel> | findMany(Arrayable|array $ids, array|string $columns = ['*'])
Find multiple models by their primary keys. | |
| findOrFail(mixed $id, array|string $columns = ['*'])
Find a model by its primary key or throw an exception. | ||
| findOrNew(mixed $id, array|string $columns = ['*'])
Find a model by its primary key or return fresh model instance. | ||
| findOr($id, $columns = ['*'], Closure|null $callback = null) No description | ||
| TModel | firstOrNew(array $attributes = [], array $values = [])
Get the first record matching the attributes or instantiate it. | |
| TModel | firstOrCreate(array $attributes = [], array $values = [])
Get the first record matching the attributes. If the record is not found, create it. | |
| TModel | createOrFirst(array $attributes = [], array $values = [])
Attempt to create the record. If a unique constraint violation occurs, attempt to find the matching record. | |
| TModel | updateOrCreate(array $attributes, array $values = [])
Create or update a record matching the attributes, and fill it with values. | |
| TModel | firstOrFail(array|string $columns = ['*'])
Execute the query and get the first result or throw an exception. | |
| firstOr($columns = ['*'], Closure|null $callback = null) No description | ||
| mixed | value(string|Expression $column)
Get a single column's value from the first result of a query. | |
| mixed | soleValue(string|Expression $column)
Get a single column's value from the first result of a query if it's the sole matching record. | |
| mixed | valueOrFail(string|Expression $column)
Get a single column's value from the first result of the query or throw an exception. | |
| TModel> | get(array|string $columns = ['*'])
Execute the query as a "select" statement. | |
| TModel> | getModels(array|string $columns = ['*'])
Get the hydrated models without eager loading. | |
| TModel> | eagerLoadRelations(array $models)
Eager load the relationships for the models. | |
| array | eagerLoadRelation(array $models, string $name, Closure $constraints)
Eagerly load the relationship on a set of models. | |
| getRelation($name) No description | ||
| array | relationsNestedUnder(string $relation)
Get the deeply nested relations for a given top-level relation. | |
| bool | isNestedUnder(string $relation, string $name)
Determine if the relationship is nested. | |
| $this | afterQuery(Closure $callback)
Register a closure to be invoked after the query is executed. | |
| mixed | applyAfterQueryCallbacks(mixed $result)
Invoke the "after query" modification callbacks. | |
| TModel> | cursor()
Get a lazy collection for the given query. | |
| void | enforceOrderBy()
Add a generic "order by" clause if the query doesn't already have one. | |
| Collection<array-key,mixed> | pluck(string|Expression $column, string|null $key = null)
Get a collection with the values of a given column. | |
| LengthAwarePaginator | paginate(int|null|Closure $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, Closure|int|null $total = null)
Paginate the given query. | |
| Paginator | simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
Paginate the given query into a simple paginator. | |
| CursorPaginator | cursorPaginate(int|null $perPage = null, array|string $columns = ['*'], string $cursorName = 'cursor', Cursor|string|null $cursor = null)
Paginate the given query into a cursor paginator. | |
| Collection | ensureOrderForCursorPagination(bool $shouldReverse = false)
Ensure the proper order by required for cursor pagination. | |
| TModel | create(array $attributes = [])
Save a new model and return the instance. | |
| TModel | forceCreate(array $attributes)
Save a new model and return the instance. Allow mass-assignment. | |
| TModel | forceCreateQuietly(array $attributes = [])
Save a new model instance with mass assignment without raising model events. | |
| int | update(array $values)
Update records in the database. | |
| int | upsert(array $values, array|string $uniqueBy, array|null $update = null)
Insert new records or update the existing ones. | |
| int|false | touch(string|null $column = null)
Update the column's update timestamp. | |
| int | increment(string|Expression $column, float|int $amount = 1, array $extra = [])
Increment a column's value by a given amount. | |
| int | decrement(string|Expression $column, float|int $amount = 1, array $extra = [])
Decrement a column's value by a given amount. | |
| array | addUpdatedAtColumn(array $values)
Add the "updated at" column to an array of values. | |
| array | addUniqueIdsToUpsertValues(array $values)
Add unique IDs to the inserted values. | |
| array | addTimestampsToUpsertValues(array $values)
Add timestamps to the inserted values. | |
| array | addUpdatedAtToUpsertColumns(array $update)
Add the "updated at" column to the updated columns. | |
| mixed | delete()
Delete records 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. | |
| bool | hasNamedScope(string $scope)
Determine if the given model has a scope. | |
| Builder|mixed | scopes(array|string $scopes)
Call the given local model scopes. | |
| Builder | applyScopes()
Apply the scopes to the Eloquent builder instance and return it. | |
| mixed | callScope(callable $scope, array $parameters = [])
Apply the given scope on the current builder instance. | |
| mixed | callNamedScope(string $scope, array $parameters = [])
Apply the given named scope on the current builder instance. | |
| void | addNewWheresWithinGroup(Builder $query, int $originalWhereCount)
Nest where conditions by slicing them at the given where count. | |
| void | groupWhereSliceForScope(Builder $query, array $whereSlice)
Slice where conditions at the given offset and add them to the query as a nested condition. | |
| array | createNestedWhere(array $whereSlice, string $boolean = 'and')
Create a where array with nested where conditions. | |
| $this | with(string|array $relations, string|Closure|null $callback = null)
Set the relationships that should be eager loaded. | |
| $this | without(mixed $relations)
Prevent the specified relations from being eager loaded. | |
| $this | withOnly(mixed $relations)
Set the relationships that should be eager loaded while removing any previously added eager loading specifications. | |
| TModel | newModelInstance(array $attributes = [])
Create a new instance of the model being queried. | |
| array | parseWithRelations(array $relations)
Parse a list of relations into individuals. | |
| array | prepareNestedWithRelationships(array $relations, string $prefix = '')
Prepare nested with relationships. | |
| Closure | combineConstraints(array $constraints)
Combine an array of constraints into a single constraint. | |
| array | parseNameAndAttributeSelectionConstraint(string $name)
Parse the attribute select constraints from the name. | |
| array | createSelectWithConstraint(string $name)
Create a constraint to select the given columns for the relation. | |
| array | addNestedWiths(string $name, array $results)
Parse the nested relationships in a relation. | |
| $this | withCasts(array $casts)
Apply query-time casts to the model instance. | |
| mixed | withSavepointIfNeeded(Closure $scope) No description | |
| Collection | getUnionBuilders()
Get the Eloquent builder instances that are used in the union of the query. | |
| 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. | |
| $this | withoutEagerLoad(array $relations)
Indicate that the given relationships should not be eagerly loaded. | |
| $this | withoutEagerLoads()
Flush the relationships being eagerly loaded. | |
| string | defaultKeyName()
Get the default key name of the table. | |
| TModel | getModel()
Get the model instance being queried. | |
| setModel(Model $model) No description | ||
| string | qualifyColumn(string|Expression $column)
Qualify the given column name by the model's table. | |
| array | qualifyColumns(array|Expression $columns)
Qualify the given columns with the model's table. | |
| Closure | getMacro(string $name)
Get the given macro by name. | |
| bool | hasMacro(string $name)
Checks if a macro is registered. | |
| static Closure | getGlobalMacro(string $name)
Get the given global macro by name. | |
| static bool | hasGlobalMacro(string $name)
Checks if a global macro is registered. | |
| mixed | __get(string $key)
Dynamically access builder proxies. | |
| 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. | |
| static void | registerMixin(string $mixin, bool $replace)
Register the given mixin with the builder. | |
| Builder | clone()
Clone the Eloquent query builder. | |
| void | __clone()
Force a clone of the underlying query builder when cloning. |
Apply the callback if the given "value" is (or resolves to) truthy.
Apply the callback if the given "value" is (or resolves to) falsy.
Chunk the results of the query.
Run a map over each item while chunking.
Execute a callback over each item while chunking.
Chunk the results of a query by comparing IDs.
Chunk the results of a query by comparing IDs in descending order.
Chunk the results of a query by comparing IDs in a given order.
Execute a callback over each item while chunking by ID.
Query lazily, by chunks of the given size.
Query lazily, by chunking the results of a query by comparing IDs.
Query lazily, by chunking the results of a query by comparing IDs in descending order.
Query lazily, by chunking the results of a query by comparing IDs in a given order.
Execute the query and get the first result.
Execute the query and get the first result if it's the sole matching record.
Paginate the given query using a cursor paginator.
Get the original column name of the given column, without any aliasing.
Create a new length-aware paginator instance.
Create a new simple paginator instance.
Create a new cursor paginator instance.
Pass the query to a given callback.
Forward a method call to the given object.
Forward a method call to the given object, returning $this if the forwarded call returned itself.
Throw a bad method call exception for the given method.
Add a relationship count / exists condition to the query.
Add nested relationship count / exists conditions to the query.
Sets up recursive call to whereHas until we finish the nested relation.
Add a relationship count / exists condition to the query with an "or".
Add a relationship count / exists condition to the query.
Add a relationship count / exists condition to the query with an "or".
Add a relationship count / exists condition to the query with where clauses.
Add a relationship count / exists condition to the query with where clauses.
Also load the relationship with same condition.
Add a relationship count / exists condition to the query with where clauses and an "or".
Add a relationship count / exists condition to the query with where clauses.
Add a relationship count / exists condition to the query with where clauses and an "or".
Add a polymorphic relationship count / exists condition to the query.
Get the BelongsTo relationship for a single polymorphic type.
Add a polymorphic relationship count / exists condition to the query with an "or".
Add a polymorphic relationship count / exists condition to the query.
Add a polymorphic relationship count / exists condition to the query with an "or".
Add a polymorphic relationship count / exists condition to the query with where clauses.
Add a polymorphic relationship count / exists condition to the query with where clauses and an "or".
Add a polymorphic relationship count / exists condition to the query with where clauses.
Add a polymorphic relationship count / exists condition to the query with where clauses and an "or".
Add a basic where clause to a relationship query.
Add an "or where" clause to a relationship query.
Add a polymorphic relationship condition to the query with a where clause.
Add a polymorphic relationship condition to the query with an "or where" clause.
Add a morph-to relationship condition to the query.
Add a not morph-to relationship condition to the query.
Add a morph-to relationship condition to the query with an "or where" clause.
Add a not morph-to relationship condition to the query with an "or where" clause.
Add a "belongs to" relationship where clause to the query.
Add an "BelongsTo" relationship with an "or where" clause to the query.
Add subselect queries to include an aggregate value for a relationship.
Get the relation hashed column name for the given column and relation.
Add subselect queries to count the relations.
Add subselect queries to include the max of the relation's column.
Add subselect queries to include the min of the relation's column.
Add subselect queries to include the sum of the relation's column.
Add subselect queries to include the average of the relation's column.
Add subselect queries to include the existence of related models.
Add the "has" condition where clause to the query.
Merge the where constraints from another query to the current query.
Updates the table name for any columns with a new qualified name.
Add a sub-query count clause to this query.
Get the "has relation" base query instance.
Check if we can run an "exists" query to optimize performance.
Create a new Eloquent query builder instance.
Create and return an un-saved model instance.
Remove a registered global scope.
Remove all or passed registered global scopes.
Get an array of global scopes that were removed from the query.
Add a where clause on the primary key to the query.
Add a where clause on the primary key to the query.
Add a basic where clause to the query.
Add a basic where clause to the query, and return the first result.
Add an "or where" clause to the query.
Add a basic "where not" clause to the query.
Add an "or where not" clause to the query.
Add an "order by" clause for a timestamp to the query.
Add an "order by" clause for a timestamp to the query.
Create a collection of models from plain arrays.
Create a collection of models from a raw query.
Find a model by its primary key.
Find multiple models by their primary keys.
Find a model by its primary key or throw an exception.
Find a model by its primary key or return fresh model instance.
No description
Get the first record matching the attributes or instantiate it.
Get the first record matching the attributes. If the record is not found, create it.
Attempt to create the record. If a unique constraint violation occurs, attempt to find the matching record.
Create or update a record matching the attributes, and fill it with values.
Execute the query and get the first result or throw an exception.
No description
Get a single column's value from the first result of a query.
Get a single column's value from the first result of a query if it's the sole matching record.
Get a single column's value from the first result of the query or throw an exception.
Execute the query as a "select" statement.
Get the hydrated models without eager loading.
Eager load the relationships for the models.
Eagerly load the relationship on a set of models.
No description
Get the deeply nested relations for a given top-level relation.
Determine if the relationship is nested.
Register a closure to be invoked after the query is executed.
Invoke the "after query" modification callbacks.
Get a lazy collection for the given query.
Add a generic "order by" clause if the query doesn't already have one.
Get a collection with the values of a given column.
Paginate the given query.
Paginate the given query into a simple paginator.
Paginate the given query into a cursor paginator.
Ensure the proper order by required for cursor pagination.
Save a new model and return the instance.
Save a new model and return the instance. Allow mass-assignment.
Save a new model instance with mass assignment without raising model events.
Update records in the database.
Insert new records or update the existing ones.
Update the column's update timestamp.
Increment a column's value by a given amount.
Decrement a column's value by a given amount.
Add the "updated at" column to an array of values.
Add unique IDs to the inserted values.
Add timestamps to the inserted values.
Add the "updated at" column to the updated columns.
Delete records from the database.
Run the default delete function on the builder.
Since we do not apply scopes here, the row will actually be deleted.
Register a replacement for the default delete function.
Determine if the given model has a scope.
Call the given local model scopes.
Apply the scopes to the Eloquent builder instance and return it.
Apply the given scope on the current builder instance.
Apply the given named scope on the current builder instance.
Nest where conditions by slicing them at the given where count.
Slice where conditions at the given offset and add them to the query as a nested condition.
Create a where array with nested where conditions.
Set the relationships that should be eager loaded.
Prevent the specified relations from being eager loaded.
Set the relationships that should be eager loaded while removing any previously added eager loading specifications.
Create a new instance of the model being queried.
Parse a list of relations into individuals.
Prepare nested with relationships.
Combine an array of constraints into a single constraint.
Parse the attribute select constraints from the name.
Create a constraint to select the given columns for the relation.
Parse the nested relationships in a relation.
Apply query-time casts to the model instance.
No description
Get the Eloquent builder instances that are used in the union of the query.
Get the underlying query builder instance.
Set the underlying query builder instance.
Get a base query builder instance.
Get the relationships being eagerly loaded.
Set the relationships being eagerly loaded.
Indicate that the given relationships should not be eagerly loaded.
Flush the relationships being eagerly loaded.
Get the default key name of the table.
Get the model instance being queried.
No description
Qualify the given column name by the model's table.
Qualify the given columns with the model's table.
Get the given macro by name.
Checks if a macro is registered.
Get the given global macro by name.
Checks if a global macro is registered.
Dynamically access builder proxies.
Dynamically handle calls into the query instance.
Dynamically handle calls into the query instance.
Register the given mixin with the builder.
Clone the Eloquent query builder.
Force a clone of the underlying query builder when cloning.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/11.x/Illuminate/Database/Eloquent/Builder.html