Построитель
класс Построитель реализует Построитель смесь Построитель (Просмотреть исходный код)
Трейты
| BuildsQueries | |
| ForwardsCalls | |
| QueriesRelationships | |
| Conditionable |
Свойства
| protected Построитель | $query | Базовый экземпляр построителя запросов. | |
| protected TModel | $model | Модель, по которой выполняется запрос. | |
| protected array | $eagerLoad | Связи, которые должны быть загружены с нетерпением. | |
| static protected array | $macros | Все глобально зарегистрированные макросы построителя. | |
| protected array | $localMacros | Все локально зарегистрированные макросы построителя. | |
| protected Closure | $onDelete | Замена для типичной функции удаления. | |
| protected string[] | $propertyPassthru | Свойства, которые должны быть возвращены построителем запросов. | |
| protected string[] | $passthru | Методы, которые должны быть возвращены построителем запросов. | |
| protected array | $scopes | Примененные глобальные области. | |
| protected array | $removedScopes | Удалённые глобальные области. | |
| protected array | $afterQueryCallbacks | Обратные вызовы, которые должны быть вызваны после получения данных из базы данных. | |
| HigherOrderBuilderProxy только для чтения | $orWhere | ||
| HigherOrderBuilderProxy только для чтения | $whereNot | ||
| HigherOrderBuilderProxy только для чтения | $orWhereNot |
Методы
| $this|TWhenReturnType | when($value = null, callable|null $callback = null, callable|null $default = null)
Применить обратный вызов, если заданное «значение» истинно (или разрешается до истинного). | из Conditionable |
| $this|TUnlessReturnType | unless($value = null, callable|null $callback = null, callable|null $default = null)
Применить обратный вызов, если заданное «значение» ложно (или разрешается до ложного). | из Conditionable |
| bool | chunk(int $count, callable $callback)
Разбить результаты запроса на куски. | из BuildsQueries |
| TReturn> | chunkMap(callable $callback, int $count = 1000)
Выполнить отображение над каждым элементом с разделением на куски. | из BuildsQueries |
| bool | each(callable $callback, int $count = 1000)
Выполнить обратный вызов над каждым элементом с разделением на куски. | из BuildsQueries |
| bool | chunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null)
Разбить результаты запроса на куски, сравнивая идентификаторы. | из BuildsQueries |
| bool | chunkByIdDesc(int $count, callable $callback, string|null $column = null, string|null $alias = null)
Разбить результаты запроса на куски, сравнивая идентификаторы в порядке убывания. | из BuildsQueries |
| bool | orderedChunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null, bool $descending = false)
Разбить результаты запроса на куски, сравнивая идентификаторы в заданном порядке. | из BuildsQueries |
| bool | eachById(callable $callback, int $count = 1000, string|null $column = null, string|null $alias = null)
Выполнить обратный вызов над каждым элементом с разделением на куски по идентификатору. | из BuildsQueries |
| LazyCollection | lazy(int $chunkSize = 1000)
Выполнять запрос лениво, по кускам заданного размера. | из BuildsQueries |
| LazyCollection | lazyById(int $chunkSize = 1000, string|null $column = null, string|null $alias = null)
Выполнять запрос лениво, разбивая результаты запроса на куски, сравнивая идентификаторы. | из BuildsQueries |
| LazyCollection | lazyByIdDesc(int $chunkSize = 1000, string|null $column = null, string|null $alias = null)
Выполнять запрос лениво, разбивая результаты запроса на куски, сравнивая идентификаторы в порядке убывания. | из BuildsQueries |
| LazyCollection | orderedLazyById(int $chunkSize = 1000, string|null $column = null, string|null $alias = null, bool $descending = false)
Выполнять запрос лениво, разбивая результаты запроса на куски, сравнивая идентификаторы в заданном порядке. | из BuildsQueries |
| TValue|null | first(array|string $columns = ['*'])
Выполнить запрос и получить первый результат. | из BuildsQueries |
| TModel | sole(array|string $columns = ['*'])
Выполнить запрос и получить первый результат, если это единственная соответствующая запись. | |
| CursorPaginator | paginateUsingCursor(int $perPage, array|string $columns = ['*'], string $cursorName = 'cursor', Cursor|string|null $cursor = null)
Выполнить пагинацию заданного запроса с помощью пагинатора курсора. | из BuildsQueries |
| string | getOriginalColumnNameForCursorPagination($builder, string $parameter)
Получить исходное имя столбца заданного столбца без каких-либо алиасов. | из BuildsQueries |
| LengthAwarePaginator | paginator(Collection $items, int $total, int $perPage, int $currentPage, array $options)
Создать новый экземпляр пагинатора с учетом длины. | из BuildsQueries |
| Paginator | simplePaginator(Collection $items, int $perPage, int $currentPage, array $options)
Создать новый экземпляр простого пагинатора. | из BuildsQueries |
| CursorPaginator | cursorPaginator(Collection $items, int $perPage, Cursor $cursor, array $options)
Создать новый экземпляр пагинатора курсора. | из BuildsQueries |
| $this | tap($callback)
Передать запрос в заданный обратный вызов. | из BuildsQueries |
| mixed | forwardCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода данному объекту. | из ForwardsCalls |
| mixed | forwardDecoratedCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода данному объекту, возвращая $this, если перенаправленный вызов вернул себя. | из ForwardsCalls |
| static void | throwBadMethodCallException(string $method)
Вызвать исключение плохого вызова метода для данного метода. | из ForwardsCalls |
| $this | has($relation, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure|null $callback = null)
Добавить условие подсчёта/существования связи к запросу. | from QueriesRelationships |
| $this | hasNested(string $relations, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure|null $callback = null)
Добавить условия подсчёта/существования вложенных связей к запросу. | from QueriesRelationships |
| $this | orHas($relation, string $operator = '>=', int $count = 1)
Добавить условие подсчёта/существования связи к запросу с "или". | from QueriesRelationships |
| $this | doesntHave($relation, string $boolean = 'and', Closure|null $callback = null)
Добавить условие подсчёта/существования связи к запросу. | from QueriesRelationships |
| $this | orDoesntHave($relation)
Добавить условие подсчёта/существования связи к запросу с "или". | from QueriesRelationships |
| $this | whereHas($relation, Closure|null $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчёта/существования связи к запросу со своими условиями. | from QueriesRelationships |
| $this | withWhereHas($relation, Closure|null $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчёта/существования связи к запросу со своими условиями. | from QueriesRelationships |
| $this | orWhereHas($relation, Closure|null $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчёта/существования связи к запросу со своими условиями и "или". | from QueriesRelationships |
| $this | whereDoesntHave($relation, Closure|null $callback = null)
Добавить условие подсчёта/существования связи к запросу со своими условиями. | from QueriesRelationships |
| $this | orWhereDoesntHave($relation, Closure|null $callback = null)
Добавить условие подсчёта/существования связи к запросу со своими условиями и "или". | from QueriesRelationships |
| $this | hasMorph($relation, string|array $types, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure|null $callback = null)
Добавить условие подсчёта/существования полиморфной связи к запросу. | from QueriesRelationships |
| TDeclaringModel> | getBelongsToRelation(MorphTo $relation, TRelatedModel> $type)
Получить связь BelongsTo для одного полиморфного типа. | from QueriesRelationships |
| $this | orHasMorph($relation, string|array $types, string $operator = '>=', int $count = 1)
Добавить условие подсчёта/существования полиморфной связи к запросу с "или". | from QueriesRelationships |
| $this | doesntHaveMorph($relation, string|array $types, string $boolean = 'and', Closure|null $callback = null)
Добавить условие подсчёта/существования полиморфной связи к запросу. | from QueriesRelationships |
| $this | orDoesntHaveMorph($relation, string|array $types)
Добавить условие подсчёта/существования полиморфной связи к запросу с "или". | from QueriesRelationships |
| $this | whereHasMorph($relation, string|array $types, Closure|null $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчёта/существования полиморфной связи к запросу со своими условиями. | from QueriesRelationships |
| $this | orWhereHasMorph($relation, string|array $types, Closure|null $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчёта/существования полиморфной связи к запросу со своими условиями и "или". | from QueriesRelationships |
| $this | whereDoesntHaveMorph($relation, string|array $types, Closure|null $callback = null)
Добавить условие подсчёта/существования полиморфной связи к запросу со своими условиями. | from QueriesRelationships |
| $this | orWhereDoesntHaveMorph($relation, string|array $types, Closure|null $callback = null)
Добавить условие подсчёта/существования полиморфной связи к запросу со своими условиями и "или". | from QueriesRelationships |
| $this | whereRelation($relation, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Добавить базовое условие where к запросу отношения. | from QueriesRelationships |
| $this | orWhereRelation($relation, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Добавить условие «или где» к запросу к отношению. | из QueriesRelationships |
| $this | whereMorphRelation($relation, string|array $types, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Добавить условие для полиморфного отношения в запрос с помощью условия «где». | из QueriesRelationships |
| $this | orWhereMorphRelation($relation, string|array $types, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Добавить условие для полиморфного отношения в запрос с помощью условия «или где». | из QueriesRelationships |
| $this | whereMorphedTo($relation, Model|string|null $model, $boolean = 'and')
Добавить условие для отношения «morph-to» в запрос. | из QueriesRelationships |
| $this | whereNotMorphedTo($relation, Model|string $model, $boolean = 'and')
Добавить условие «не morph-to» для отношения в запрос. | из QueriesRelationships |
| $this | orWhereMorphedTo($relation, Model|string|null $model)
Добавить условие для отношения «morph-to» в запрос с помощью условия «или где». | из QueriesRelationships |
| $this | orWhereNotMorphedTo($relation, Model|string $model)
Добавить условие «не morph-to» для отношения в запрос с помощью условия «или где». | из QueriesRelationships |
| $this | whereBelongsTo(Model|Model> $related, string|null $relationshipName = null, string $boolean = 'and')
Добавить условие «belongs to» для отношения в запрос. | из QueriesRelationships |
| $this | orWhereBelongsTo(Model $related, string|null $relationshipName = null)
Добавить условие «BelongsTo» для отношения в запрос с помощью условия «или где». | из QueriesRelationships |
| $this | withAggregate(mixed $relations, Expression|string $column, string $function = null)
Добавить подзапросы для включения агрегированного значения для отношения. | из QueriesRelationships |
| string | getRelationHashedColumn(string $column, $relation)
Получить имя хешированного столбца отношения для заданного столбца и отношения. | из QueriesRelationships |
| $this | withCount(mixed $relations)
Добавить подзапросы для подсчета отношений. | из QueriesRelationships |
| $this | withMax(string|array $relation, Expression|string $column)
Добавить подзапросы для включения максимального значения столбца отношения. | из QueriesRelationships |
| $this | withMin(string|array $relation, Expression|string $column)
Добавить подзапросы для включения минимального значения столбца отношения. | из QueriesRelationships |
| $this | withSum(string|array $relation, Expression|string $column)
Добавить подзапросы для включения суммы столбца отношения. | из QueriesRelationships |
| $this | withAvg(string|array $relation, Expression|string $column)
Добавить подзапросы для включения среднего значения столбца отношения. | из QueriesRelationships |
| $this | withExists(string|array $relation)
Добавить подзапросы для включения существования связанных моделей. | из QueriesRelationships |
| $this | addHasWhere(Builder $hasQuery, Relation $relation, string $operator, int $count, string $boolean)
Добавить условие «has» в запрос «где». | из QueriesRelationships |
| $this | mergeConstraintsFrom(Builder $from)
Объединить условия «где» из другого запроса в текущий запрос. | из QueriesRelationships |
| array | requalifyWhereTables(array $wheres, string $from, string $to)
Обновляет имя таблицы для любых столбцов с новым квалифицированным именем. | из QueriesRelationships |
| $this | addWhereCountQuery(Builder $query, string $operator = '>=', int $count = 1, string $boolean = 'and')
Добавить условие подзапроса подсчета к этому запросу. | из QueriesRelationships |
| getRelationWithoutConstraints(string $relation) Получить базовый экземпляр запроса «имеет отношение». | из QueriesRelationships | |
| bool | canUseExistsForExistenceCheck(string $operator, int $count) Проверить, можем ли мы выполнить запрос «существует» для оптимизации производительности. | из QueriesRelationships |
| void | __construct(Builder $query) Создать новый экземпляр Eloquent-строителя запросов. | |
| TModel | make(array $attributes = []) Создать и вернуть несохраненный экземпляр модели. | |
| $this | withGlobalScope(string $identifier, Scope|Closure $scope) Зарегистрировать новый глобальный scope. | |
| $this | withoutGlobalScope(Scope|string $scope) Удалить зарегистрированный глобальный scope. | |
| $this | withoutGlobalScopes(array|null $scopes = null) Удалить все или указанные зарегистрированные глобальные scopes. | |
| array | removedScopes() Получить массив глобальных scopes, которые были удалены из запроса. | |
| $this | whereKey(mixed $id) Добавить условие where по первичному ключу в запрос. | |
| $this | whereKeyNot(mixed $id) Добавить условие where по первичному ключу в запрос. | |
| $this | where($column, mixed $operator = null, mixed $value = null, string $boolean = 'and') Добавить простое условие where в запрос. | |
| TModel|null | firstWhere($column, mixed $operator = null, mixed $value = null, string $boolean = 'and') Добавить простое условие where в запрос и вернуть первый результат. | |
| $this | orWhere($column, mixed $operator = null, mixed $value = null) Добавить условие «или where» в запрос. | |
| $this | whereNot($column, mixed $operator = null, mixed $value = null, string $boolean = 'and') Добавить простое условие «where not» в запрос. | |
| $this | orWhereNot($column, mixed $operator = null, mixed $value = null) Добавить условие «или where not» в запрос. | |
| $this | latest(string|Expression $column = null) Добавить условие «order by» по метке времени в запрос. | |
| $this | oldest(string|Expression $column = null) Добавить условие «order by» по метке времени в запрос. | |
| TModel> | hydrate(array $items) Создать коллекцию моделей из обычных массивов. | |
| TModel> | fromQuery(string $query, array $bindings = []) Создать коллекцию моделей из исходного запроса. | |
| find(mixed $id, array|string $columns = ['*']) Найти модель по ее первичному ключу. | ||
| TModel> | findMany(Arrayable|array $ids, array|string $columns = ['*']) Найти несколько моделей по их первичным ключам. | |
| findOrFail(mixed $id, array|string $columns = ['*']) Найти модель по первичному ключу или выбросить исключение. | ||
| findOrNew(mixed $id, array|string $columns = ['*']) Найти модель по первичному ключу или вернуть новый экземпляр модели. | ||
| findOr($id, $columns = ['*'], Closure|null $callback = null) Без описания | ||
| TModel | firstOrNew(array $attributes = [], array $values = []) Получить первую запись, соответствующую атрибутам, или создать экземпляр. | |
| TModel | firstOrCreate(array $attributes = [], array $values = []) Получить первую запись, соответствующую атрибутам. Если запись не найдена, создать ее. | |
| TModel | createOrFirst(array $attributes = [], array $values = []) Попытка создать запись. Если возникает нарушение уникальности, попытаться найти соответствующую запись. | |
| TModel | updateOrCreate(array $attributes, array $values = []) Создать или обновить запись, соответствующую атрибутам, и заполнить ее значениями. | |
| TModel | firstOrFail(array|string $columns = ['*']) Выполнить запрос и получить первый результат или выбросить исключение. | |
| firstOr($columns = ['*'], Closure|null $callback = null) Без описания | ||
| mixed | value(string|Expression $column) Получить значение одного столбца из первого результата запроса. | |
| mixed | soleValue(string|Expression $column) Получить значение одного столбца из первого результата запроса, если это единственная соответствующая запись. | |
| mixed | valueOrFail(string|Expression $column) Получить значение одного столбца из первого результата запроса или выбросить исключение. | |
| TModel> | get(array|string $columns = ['*']) Выполнить запрос как оператор «выбрать». | |
| TModel> | getModels(array|string $columns = ['*']) Получить гидратированные модели без ленивой загрузки. | |
| TModel> | eagerLoadRelations(array $models) Лениво загрузить отношения для моделей. | |
| array | eagerLoadRelation(array $models, string $name, Closure $constraints) Лениво загрузить отношение для набора моделей. | |
| getRelation($name) Без описания | ||
| array | relationsNestedUnder(string $relation) Получить глубоко вложенные отношения для заданного отношения верхнего уровня. | |
| bool | isNestedUnder(string $relation, string $name) Определить, является ли отношение вложенным. |
| $this | afterQuery(Closure $callback)
Зарегистрировать замыкание, которое будет вызываться после выполнения запроса. | |
| mixed | applyAfterQueryCallbacks(mixed $result)
Вызвать колбэки модификации «после запроса». | |
| TModel> | cursor()
Получить ленивую коллекцию для данного запроса. | |
| void | enforceOrderBy()
Добавить общий клауз «order by», если он ещё не задан в запросе. | |
| Collection<array-key,mixed> | pluck(string|Expression $column, string|null $key = null)
Получить коллекцию со значениями заданного столбца. | |
| LengthAwarePaginator | paginate(int|null|Closure $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, Closure|int|null $total = null)
Выполнить пагинацию заданного запроса. | |
| Paginator | simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
Выполнить пагинацию заданного запроса с использованием простого пагинатора. | |
| CursorPaginator | cursorPaginate(int|null $perPage = null, array|string $columns = ['*'], string $cursorName = 'cursor', Cursor|string|null $cursor = null)
Выполнить пагинацию заданного запроса с использованием пагинатора курсора. | |
| Collection | ensureOrderForCursorPagination(bool $shouldReverse = false)
Обеспечить правильный порядок, необходимый для пагинации курсора. | |
| TModel | create(array $attributes = [])
Сохранить новую модель и вернуть экземпляр. | |
| TModel | forceCreate(array $attributes)
Сохранить новую модель и вернуть экземпляр. Разрешить массовое присвоение. | |
| TModel | forceCreateQuietly(array $attributes = [])
Сохранить новый экземпляр модели с массовым присвоением без поднятия событий модели. | |
| int | update(array $values)
Обновить записи в базе данных. | |
| int | upsert(array $values, array|string $uniqueBy, array|null $update = null)
Вставить новые записи или обновить существующие. | |
| int|false | touch(string|null $column = null)
Обновить метку времени обновления столбца. | |
| int | increment(string|Expression $column, float|int $amount = 1, array $extra = [])
Увеличить значение столбца на заданную величину. | |
| int | decrement(string|Expression $column, float|int $amount = 1, array $extra = [])
Уменьшить значение столбца на заданную величину. | |
| array | addUpdatedAtColumn(array $values)
Добавить столбец «updated at» в массив значений. | |
| array | addUniqueIdsToUpsertValues(array $values)
Добавить уникальные идентификаторы к значениям вставки. | |
| array | addTimestampsToUpsertValues(array $values)
Добавить метки времени к значениям вставки. | |
| array | addUpdatedAtToUpsertColumns(array $update)
Добавить столбец «updated at» к обновляемым столбцам. | |
| mixed | delete()
Удалить записи из базы данных. | |
| mixed | forceDelete()
Выполнить стандартную функцию удаления для билдера. | |
| void | onDelete(Closure $callback)
Зарегистрировать замену для стандартной функции удаления. | |
| bool | hasNamedScope(string $scope)
Определить, имеет ли данная модель область видимости. | |
| Builder|mixed | scopes(array|string $scopes)
Вызвать заданные локальные области видимости модели. | |
| Builder | applyScopes()
Применить области видимости к экземпляру билдера Eloquent и вернуть его. | |
| mixed | callScope(callable $scope, array $parameters = [])
Применить заданную область видимости к текущему экземпляру билдера. | |
| mixed | callNamedScope(string $scope, array $parameters = [])
Применить заданную именованную область видимости к текущему экземпляру билдера. | |
| void | addNewWheresWithinGroup(Builder $query, int $originalWhereCount)
Вложить условия where, разделив их на заданном количестве. | |
| void | groupWhereSliceForScope(Builder $query, array $whereSlice)
Разделить условия where на заданном смещении и добавить их в запрос в качестве вложенного условия. | |
| array | createNestedWhere(array $whereSlice, string $boolean = 'and')
Создать массив where с вложенными условиями where. | |
| $this | with(string|array $relations, string|Closure|null $callback = null)
Установить отношения, которые должны быть загружены с жадной загрузкой. | |
| $this | without(mixed $relations)
Предотвратить загрузку указанных отношений с жадной загрузкой. | |
| $this | withOnly(mixed $relations)
Установить отношения, которые должны быть загружены с жадной загрузкой, удалив любые ранее добавленные указания по жадной загрузке. | |
| TModel | newModelInstance(array $attributes = [])
Создать новый экземпляр модели, которая запрашивается. | |
| array | parseWithRelations(array $relations)
Разбить список отношений на отдельные. | |
| array | prepareNestedWithRelationships(array $relations, string $prefix = '')
Подготовить вложенные отношения с жадной загрузкой. | |
| Closure | combineConstraints(array $constraints)
Объединить массив ограничений в одно ограничение. |
| array | parseNameAndAttributeSelectionConstraint(string $name)
Обработать ограничения выбора атрибутов из имени. | |
| array | createSelectWithConstraint(string $name)
Создать ограничение для выбора заданных столбцов для отношения. | |
| array | addNestedWiths(string $name, array $results)
Обработать вложенные отношения в отношении. | |
| $this | withCasts(array $casts)
Применить преобразования к экземпляру модели во время запроса. | |
| mixed | withSavepointIfNeeded(Closure $scope) Без описания | |
| Collection | getUnionBuilders()
Получить экземпляры билдеров Eloquent, используемые в объединении запроса. | |
| Builder | getQuery()
Получить базовый экземпляр билдера запроса. | |
| $this | setQuery(Builder $query)
Установить базовый экземпляр билдера запроса. | |
| Builder | toBase()
Получить базовый экземпляр билдера запроса. | |
| array | getEagerLoads()
Получить отношения, загружаемые с жадным чтением. | |
| $this | setEagerLoads(array $eagerLoad)
Установить отношения, загружаемые с жадным чтением. | |
| $this | withoutEagerLoad(array $relations)
Указать, что данные отношения не должны загружаться с жадным чтением. | |
| $this | withoutEagerLoads()
Очистить отношения, загружаемые с жадным чтением. | |
| string | defaultKeyName()
Получить имя ключа по умолчанию для таблицы. | |
| TModel | getModel()
Получить экземпляр модели, к которому осуществляется запрос. | |
| setModel(Model $model) Без описания | ||
| string | qualifyColumn(string|Expression $column)
Указать имя заданного столбца для таблицы модели. | |
| array | qualifyColumns(array|Expression $columns)
Указать заданные столбцы для таблицы модели. | |
| Closure | getMacro(string $name)
Получить заданный макрос по имени. | |
| bool | hasMacro(string $name)
Проверить, зарегистрирован ли макрос. | |
| static Closure | getGlobalMacro(string $name)
Получить заданный глобальный макрос по имени. | |
| static bool | hasGlobalMacro(string $name)
Проверить, зарегистрирован ли глобальный макрос. | |
| mixed | __get(string $key)
Динамичный доступ к прокси-объектам билдера. | |
| mixed | __call(string $method, array $parameters)
Динамичная обработка вызовов в экземпляре запроса. | |
| static mixed | __callStatic(string $method, array $parameters)
Динамичная обработка вызовов в экземпляре запроса. | |
| static void | registerMixin(string $mixin, bool $replace)
Зарегистрировать заданный миксин в билдере. | |
| Builder | clone()
Клонирование билдера запроса Eloquent. | |
| void | __clone()
Принудительное клонирование базового билдера запроса при клонировании. |
Подробности
$this|TWhenReturnType when($value = null, callable|null $callback = null, callable|null $default = null)
Применить обратный вызов, если заданное «значение» истинно.
$this|TUnlessReturnType unless($value = null, callable|null $callback = null, callable|null $default = null)
Применить обратный вызов, если заданное «значение» ложно.
bool chunk(int $count, callable $callback)
Разбить результаты запроса на куски.
TReturn> chunkMap(callable $callback, int $count = 1000)
Применить map к каждому элементу, разбивая на куски.
bool each(callable $callback, int $count = 1000)
Выполнить обратный вызов над каждым элементом, разбивая на куски.
bool chunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null)
Разбить результаты запроса на куски по сравниванию идентификаторов.
bool chunkByIdDesc(int $count, callable $callback, string|null $column = null, string|null $alias = null)
Разбить результаты запроса, сравнивая идентификаторы в порядке убывания.
bool orderedChunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null, bool $descending = false)
Разбить результаты запроса, сравнивая идентификаторы в заданном порядке.
bool eachById(callable $callback, int $count = 1000, string|null $column = null, string|null $alias = null)
Выполнить обратный вызов для каждого элемента с разбиением по идентификатору.
LazyCollection lazy(int $chunkSize = 1000)
Запрос лениво, по частям заданного размера.
LazyCollection lazyById(int $chunkSize = 1000, string|null $column = null, string|null $alias = null)
Ленивый запрос, разбивая результаты запроса по сравнению идентификаторов.
LazyCollection lazyByIdDesc(int $chunkSize = 1000, string|null $column = null, string|null $alias = null)
Ленивый запрос, разбивая результаты запроса по сравнению идентификаторов в порядке убывания.
protected LazyCollection orderedLazyById(int $chunkSize = 1000, string|null $column = null, string|null $alias = null, bool $descending = false)
Ленивый запрос, разбивая результаты запроса по сравниванию идентификаторов в заданном порядке.
TValue|null first(array|string $columns = ['*'])
Выполнить запрос и получить первый результат.
TModel sole(array|string $columns = ['*'])
Выполнить запрос и получить первый результат, если это единственная совпадающая запись.
protected CursorPaginator paginateUsingCursor(int $perPage, array|string $columns = ['*'], string $cursorName = 'cursor', Cursor|string|null $cursor = null)
Выполнить пагинацию заданного запроса с помощью пагинатора с указателем.
protected string getOriginalColumnNameForCursorPagination($builder, string $parameter)
Получить исходное имя столбца заданного столбца без каких-либо псевдонимов.
protected LengthAwarePaginator paginator(Collection $items, int $total, int $perPage, int $currentPage, array $options)
Создать новый экземпляр пагинатора с учетом длины.
protected Paginator simplePaginator(Collection $items, int $perPage, int $currentPage, array $options)
Создать новый экземпляр простого пагинатора.
protected CursorPaginator cursorPaginator(Collection $items, int $perPage, Cursor $cursor, array $options)
Создать новый экземпляр пагинатора с курсором.
$this tap($callback)
Передать запрос в заданный обратный вызов.
protected mixed forwardCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода заданному объекту.
protected mixed forwardDecoratedCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода заданному объекту, возвращая $this, если перенаправленный вызов вернул себя.
static protected void throwBadMethodCallException(string $method)
Выбросить исключение BadMethodCallException для данного метода.
$this has($relation, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure|null $callback = null)
Добавить условие подсчета/существования отношения к запросу.
protected $this hasNested(string $relations, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure|null $callback = null)
Добавить вложенные условия подсчета/существования отношения к запросу.
Настраивает рекурсивный вызов whereHas до тех пор, пока не закончатся вложенные отношения.
$this orHas($relation, string $operator = '>=', int $count = 1)
Добавить условие подсчета/существования отношения к запросу с оператором "или".
$this doesntHave($relation, string $boolean = 'and', Closure|null $callback = null)
Добавить условие подсчета/существования отношения к запросу.
$this orDoesntHave($relation)
Добавить условие подсчета/существования отношения к запросу с оператором "или".
$this whereHas($relation, Closure|null $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчета/существования отношения к запросу с условиями where.
$this withWhereHas($relation, Closure|null $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчета/существования отношения к запросу с условиями where.
Также загрузить отношение с тем же условием.
$this orWhereHas($relation, Closure|null $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчёта/существования связи к запросу с условиями where и оператором "или".
$this whereDoesntHave($relation, Closure|null $callback = null)
Добавить условие подсчёта/существования связи к запросу с условиями where.
$this orWhereDoesntHave($relation, Closure|null $callback = null)
Добавить условие подсчёта/существования связи к запросу с условиями where и оператором "или".
$this hasMorph($relation, string|array $types, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure|null $callback = null)
Добавить условие подсчёта/существования полиморфной связи к запросу.
protected TDeclaringModel> getBelongsToRelation(MorphTo $relation, TRelatedModel> $type)
Получить отношение BelongsTo для одного полиморфного типа.
$this orHasMorph($relation, string|array $types, string $operator = '>=', int $count = 1)
Добавить условие подсчёта/существования полиморфной связи к запросу с оператором "или".
$this doesntHaveMorph($relation, string|array $types, string $boolean = 'and', Closure|null $callback = null)
Добавить условие подсчёта/существования полиморфной связи к запросу.
$this orDoesntHaveMorph($relation, string|array $types)
Добавить условие подсчёта/существования полиморфной связи к запросу с оператором "или".
$this whereHasMorph($relation, string|array $types, Closure|null $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчёта/существования полиморфной связи к запросу с условиями where.
$this orWhereHasMorph($relation, string|array $types, Closure|null $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчёта/существования полиморфной связи к запросу с условиями where и оператором "или".
$this whereDoesntHaveMorph($relation, string|array $types, Closure|null $callback = null)
Добавить условие подсчёта/существования полиморфной связи к запросу с условиями where.
$this orWhereDoesntHaveMorph($relation, string|array $types, Closure|null $callback = null)
Добавить условие подсчёта/существования полиморфной связи к запросу с условиями where и оператором "или".
$this whereRelation($relation, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Добавить базовое условие where к запросу отношения.
$this orWhereRelation($relation, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Добавить условие «или где» к запросу для отношения.
$this whereMorphRelation($relation, string|array $types, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Добавить полиморфное условие отношения к запросу с условием «где».
$this orWhereMorphRelation($relation, string|array $types, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Добавить полиморфное условие отношения к запросу с условием «или где».
$this whereMorphedTo($relation, Model|string|null $model, $boolean = 'and')
Добавить условие отношения «морфинг к» к запросу.
$this whereNotMorphedTo($relation, Model|string $model, $boolean = 'and')
Добавить условие «не морфинг к» к запросу.
$this orWhereMorphedTo($relation, Model|string|null $model)
Добавить условие отношения «морфинг к» к запросу с условием «или где».
$this orWhereNotMorphedTo($relation, Model|string $model)
Добавить условие «не морфинг к» к запросу с условием «или где».
$this whereBelongsTo(Model|Model> $related, string|null $relationshipName = null, string $boolean = 'and')
Добавить условие отношения «принадлежит» к запросу.
$this orWhereBelongsTo(Model $related, string|null $relationshipName = null)
Добавить условие отношения «принадлежит» с «или где» к запросу.
$this withAggregate(mixed $relations, Expression|string $column, string $function = null)
Добавить подзапросы для включения агрегированного значения для отношения.
protected string getRelationHashedColumn(string $column, $relation)
Получить имя хешированного столбца отношения для заданного столбца и отношения.
$this withCount(mixed $relations)
Добавить подзапросы для подсчета отношений.
$this withMax(string|array $relation, Expression|string $column)
Добавить подзапросы для включения максимального значения столбца отношения.
$this withMin(string|array $relation, Expression|string $column)
Добавить подзапросы для включения минимального значения столбца связи.
$this withSum(string|array $relation, Expression|string $column)
Добавить подзапросы для включения суммы столбца связи.
$this withAvg(string|array $relation, Expression|string $column)
Добавить подзапросы для включения среднего значения столбца связи.
$this withExists(string|array $relation)
Добавить подзапросы для включения существования связанных моделей.
protected $this addHasWhere(Builder $hasQuery, Relation $relation, string $operator, int $count, string $boolean)
Добавить условие «has» в раздел where запроса.
$this mergeConstraintsFrom(Builder $from)
Объединить условия where из другого запроса в текущий запрос.
protected array requalifyWhereTables(array $wheres, string $from, string $to)
Обновляет имя таблицы для столбцов с новым квалифицированным именем.
protected $this addWhereCountQuery(Builder $query, string $operator = '>=', int $count = 1, string $boolean = 'and')
Добавить условие подсчета подзапроса к этому запросу.
protected getRelationWithoutConstraints(string $relation)
Получить экземпляр базового запроса «has relation».
protected bool canUseExistsForExistenceCheck(string $operator, int $count)
Проверить, можно ли использовать запрос «exists» для оптимизации производительности.
void __construct(Builder $query)
Создать новый экземпляр билдера запросов Eloquent.
TModel make(array $attributes = [])
Создать и вернуть экземпляр модели без сохранения.
$this withGlobalScope(string $identifier, Scope|Closure $scope)
Зарегистрировать новый глобальный scope.
$this withoutGlobalScope(Scope|string $scope)
Удалить зарегистрированный глобальный scope.
$this withoutGlobalScopes(array|null $scopes = null)
Удалить все или указанные зарегистрированные глобальные scopes.
array removedScopes()
Получить массив глобальных scopes, удаленных из запроса.
$this whereKey(mixed $id)
Добавить условие where по первичному ключу к запросу.
$this whereKeyNot(mixed $id)
Добавить условие where по первичному ключу в запрос.
$this where($column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Добавить базовое условие where в запрос.
TModel|null firstWhere($column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Добавить базовое условие where в запрос и вернуть первый результат.
$this orWhere($column, mixed $operator = null, mixed $value = null)
Добавить условие "or where" в запрос.
$this whereNot($column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Добавить базовое условие "where not" в запрос.
$this orWhereNot($column, mixed $operator = null, mixed $value = null)
Добавить условие "or where not" в запрос.
$this latest(string|Expression $column = null)
Добавить условие "order by" для timestamp в запрос.
$this oldest(string|Expression $column = null)
Добавить условие "order by" для timestamp в запрос.
TModel> hydrate(array $items)
Создать коллекцию моделей из обычных массивов.
TModel> fromQuery(string $query, array $bindings = [])
Создать коллекцию моделей из сырого запроса.
find(mixed $id, array|string $columns = ['*'])
Найти модель по первичному ключу.
TModel> findMany(Arrayable|array $ids, array|string $columns = ['*'])
Найти несколько моделей по первичным ключам.
findOrFail(mixed $id, array|string $columns = ['*'])
Найти модель по первичному ключу или выбросить исключение.
findOrNew(mixed $id, array|string $columns = ['*'])
Найти модель по первичному ключу или вернуть новый экземпляр модели.
findOr($id, $columns = ['*'], Closure|null $callback = null)
Нет описания.
TModel firstOrNew(array $attributes = [], array $values = [])
Получить первую запись, соответствующую атрибутам, или создать её экземпляр.
TModel firstOrCreate(array $attributes = [], array $values = [])
Получить первую запись, соответствующую атрибутам. Если запись не найдена, создать её.
TModel createOrFirst(array $attributes = [], array $values = [])
Попытка создать запись. Если происходит нарушение уникального ограничения, попытаться найти соответствующую запись.
TModel updateOrCreate(array $attributes, array $values = [])
Создать или обновить запись, соответствующую атрибутам, и заполнить её значениями.
TModel firstOrFail(array|string $columns = ['*'])
Выполнить запрос и получить первый результат или выбросить исключение.
firstOr($columns = ['*'], Closure|null $callback = null)
Описание отсутствует
mixed value(string|Expression $column)
Получить значение из первого результата запроса для указанного столбца.
mixed soleValue(string|Expression $column)
Получить значение из первого результата запроса для указанного столбца, если это единственная соответствующая запись.
mixed valueOrFail(string|Expression $column)
Получить значение из первого результата запроса для указанного столбца или выбросить исключение.
TModel> get(array|string $columns = ['*'])
Выполнить запрос как операцию "select".
TModel> getModels(array|string $columns = ['*'])
Получить модели без ленивой загрузки.
TModel> eagerLoadRelations(array $models)
Загрузить отношения для моделей с ленивой загрузкой.
protected array eagerLoadRelation(array $models, string $name, Closure $constraints)
Загрузить отношение для набора моделей с ленивой загрузкой.
getRelation($name)
Описание отсутствует
protected array relationsNestedUnder(string $relation)
Получить глубоко вложенные отношения для заданного отношения верхнего уровня.
protected bool isNestedUnder(string $relation, string $name)
Определить, является ли отношение вложенным.
$this afterQuery(Closure $callback)
Зарегистрировать замыкание, которое будет вызываться после выполнения запроса.
mixed applyAfterQueryCallbacks(mixed $result)
Вызвать обратные вызовы модификации "после запроса".
TModel> cursor()
Получить ленивую коллекцию для данного запроса.
protected void enforceOrderBy()
Добавить условие "order by", если его нет в запросе.
Collection<array-key,mixed> pluck(string|Expression $column, string|null $key = null)
Получить коллекцию со значениями заданного столбца.
LengthAwarePaginator paginate(int|null|Closure $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, Closure|int|null $total = null)
Разбить заданный запрос на страницы.
Paginator simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
Разбить заданный запрос на страницы с помощью простого пагинатора.
CursorPaginator cursorPaginate(int|null $perPage = null, array|string $columns = ['*'], string $cursorName = 'cursor', Cursor|string|null $cursor = null)
Разбить заданный запрос на страницы с помощью курсорного пагинатора.
protected Collection ensureOrderForCursorPagination(bool $shouldReverse = false)
Обеспечить правильный порядок, необходимый для курсорной пагинации.
TModel create(array $attributes = [])
Сохранить новую модель и вернуть экземпляр.
TModel forceCreate(array $attributes)
Сохранить новую модель и вернуть экземпляр. Разрешить присвоение по массе.
TModel forceCreateQuietly(array $attributes = [])
Сохранить новый экземпляр модели с присвоением по массе без повышения событий модели.
int update(array $values)
Обновить записи в базе данных.
int upsert(array $values, array|string $uniqueBy, array|null $update = null)
Вставить новые записи или обновить существующие.
int|false touch(string|null $column = null)
Обновить метку изменения timestamp.
int increment(string|Expression $column, float|int $amount = 1, array $extra = [])
Увеличить значение столбца на заданную величину.
int decrement(string|Expression $column, float|int $amount = 1, array $extra = [])
Уменьшить значение столбца на заданную величину.
protected array addUpdatedAtColumn(array $values)
Добавить столбец "updated at" в массив значений.
protected array addUniqueIdsToUpsertValues(array $values)
Добавить уникальные идентификаторы к значениям вставки.
protected array addTimestampsToUpsertValues(array $values)
Добавить метки времени в значения вставки.
protected array addUpdatedAtToUpsertColumns(array $update)
Добавить столбец "updated at" к обновляемым столбцам.
mixed delete()
Удаление записей из базы данных.
mixed forceDelete()
Выполнение стандартной функции удаления для билдера.
Так как здесь не применяются области, строка фактически будет удалена.
void onDelete(Closure $callback)
Регистрация замены для стандартной функции удаления.
bool hasNamedScope(string $scope)
Определение, имеет ли данная модель область.
Builder|mixed scopes(array|string $scopes)
Вызов заданных локальных областей модели.
Builder applyScopes()
Применение областей к экземпляру билдера Eloquent и его возврат.
protected mixed callScope(callable $scope, array $parameters = [])
Применение заданной области к текущему экземпляру билдера.
protected mixed callNamedScope(string $scope, array $parameters = [])
Применение заданной именованной области к текущему экземпляру билдера.
protected void addNewWheresWithinGroup(Builder $query, int $originalWhereCount)
Вложение условий where путем их разделения по заданному счетчику where.
protected void groupWhereSliceForScope(Builder $query, array $whereSlice)
Разделение условий where по заданному смещению и добавление их к запросу как вложенного условия.
protected array createNestedWhere(array $whereSlice, string $boolean = 'and')
Создание массива where с вложенными условиями where.
$this with(string|array $relations, string|Closure|null $callback = null)
Установка отношений, которые должны быть загружены с помощью жадной загрузки.
$this without(mixed $relations)
Препятствие загрузке указанных отношений с помощью жадной загрузки.
$this withOnly(mixed $relations)
Установка отношений, которые должны быть загружены с помощью жадной загрузки, удаляя при этом все ранее заданные параметры жадной загрузки.
TModel newModelInstance(array $attributes = [])
Создание нового экземпляра модели, на которую выполняется запрос.
protected array parseWithRelations(array $relations)
Разбор списка отношений на отдельные.
protected array prepareNestedWithRelationships(array $relations, string $prefix = '')
Подготовка вложенных отношений с помощью жадной загрузки.
protected Closure combineConstraints(array $constraints)
Объединение массива ограничений в одно ограничение.
protected array parseNameAndAttributeSelectionConstraint(string $name)
Разбор ограничений выбора атрибутов по имени.
protected array createSelectWithConstraint(string $name)
Создание ограничения для выбора заданных столбцов для отношения.
protected array addNestedWiths(string $name, array $results)
Обработать вложенные отношения в отношении.
$this withCasts(array $casts)
Применить преобразования во время запроса к экземпляру модели.
mixed withSavepointIfNeeded(Closure $scope)
Описание отсутствует
protected Collection getUnionBuilders()
Получить экземпляры билдера Eloquent, используемые в объединении запроса.
Builder getQuery()
Получить базовый экземпляр билдера запросов.
$this setQuery(Builder $query)
Установить базовый экземпляр билдера запросов.
Builder toBase()
Получить базовый экземпляр билдера запросов.
array getEagerLoads()
Получить отношения, которые загружаются с жадностью.
$this setEagerLoads(array $eagerLoad)
Установить отношения, которые загружаются с жадностью.
$this withoutEagerLoad(array $relations)
Указать, что указанные отношения не должны загружаться с жадностью.
$this withoutEagerLoads()
Очистить отношения, которые загружаются с жадностью.
protected string defaultKeyName()
Получить имя ключа по умолчанию таблицы.
TModel getModel()
Получить экземпляр модели, к которому применяется запрос.
setModel(Model $model)
Описание отсутствует
string qualifyColumn(string|Expression $column)
Квалифицировать имя указанного столбца по таблице модели.
array qualifyColumns(array|Expression $columns)
Квалифицировать указанные столбцы по таблице модели.
Closure getMacro(string $name)
Получить заданный макрос по имени.
bool hasMacro(string $name)
Проверяет, зарегистрирован ли макрос.
static Closure getGlobalMacro(string $name)
Получить заданный глобальный макрос по имени.
static bool hasGlobalMacro(string $name)
Проверяет, зарегистрирован ли глобальный макрос.
mixed __get(string $key)
Динамический доступ к прокси-билдерам.
mixed __call(string $method, array $parameters)
Динамически обрабатывает вызовы к экземпляру запроса.
static mixed __callStatic(string $method, array $parameters)
Динамически обрабатывает вызовы к экземпляру запроса.
static protected void registerMixin(string $mixin, bool $replace)
Регистрирует заданный миксин в билдере.
Builder clone()
Клонирует билдер запросов Eloquent.
void __clone()
Принудительно клонирует базовый билдер запросов при клонировании.
© 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