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