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)
Применить обратный вызов, если заданное «значение» истинно (или разрешается в истинное). | from Conditionable |
| $this|TUnlessReturnType | unless($value = null, callable $callback = null, callable $default = null)
Применить обратный вызов, если заданное «значение» ложно (или разрешается в ложное). | from Conditionable |
| bool | chunk(int $count, callable $callback)
Разбить результаты запроса на куски. | from BuildsQueries |
| Collection | chunkMap(callable $callback, int $count = 1000)
Выполнить отображение над каждым элементом при разбиении на куски. | from BuildsQueries |
| bool | each(callable $callback, int $count = 1000)
Выполнить обратный вызов над каждым элементом при разбиении на куски. | from BuildsQueries |
| bool | chunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null)
Разбить результаты запроса на куски, сравнивая идентификаторы. | from BuildsQueries |
| bool | chunkByIdDesc(int $count, callable $callback, string|null $column = null, string|null $alias = null)
Разбить результаты запроса на куски, сравнивая идентификаторы в порядке убывания. | from BuildsQueries |
| bool | orderedChunkById(int $count, callable $callback, string|null $column = null, string|null $alias = null, bool $descending = false)
Разбить результаты запроса на куски, сравнивая идентификаторы в заданном порядке. | from BuildsQueries |
| bool | eachById(callable $callback, int $count = 1000, string|null $column = null, string|null $alias = null)
Выполнить обратный вызов над каждым элементом при разбиении на куски по идентификатору. | from BuildsQueries |
| LazyCollection | lazy(int $chunkSize = 1000)
Выполнить запрос лениво, по кускам заданного размера. | from BuildsQueries |
| LazyCollection | lazyById(int $chunkSize = 1000, string|null $column = null, string|null $alias = null)
Выполнить запрос лениво, разбивая результаты запроса на куски по сравнению идентификаторов. | from BuildsQueries |
| LazyCollection | lazyByIdDesc(int $chunkSize = 1000, string|null $column = null, string|null $alias = null)
Выполнить запрос лениво, разбивая результаты запроса на куски по сравнению идентификаторов в порядке убывания. | from BuildsQueries |
| LazyCollection | orderedLazyById(int $chunkSize = 1000, string|null $column = null, string|null $alias = null, bool $descending = false)
Выполнить запрос лениво, разбивая результаты запроса на куски, сравнивая идентификаторы в заданном порядке. | from BuildsQueries |
| Model|object|BuildsQueries|null | first(array|string $columns = ['*'])
Выполнить запрос и получить первый результат. | from BuildsQueries |
| Model | sole(array|string $columns = ['*'])
Выполнить запрос и получить первый результат, если это единственный соответствующий запис. | |
| CursorPaginator | paginateUsingCursor(int $perPage, array|string $columns = ['*'], string $cursorName = 'cursor', Cursor|string|null $cursor = null)
Выполнить постраничную навигацию для заданного запроса с помощью постраничного курсора. | from BuildsQueries |
| string | getOriginalColumnNameForCursorPagination(Builder|Builder $builder, string $parameter)
Получить исходное имя столбца заданного столбца без каких-либо псевдонимов. | from BuildsQueries |
| LengthAwarePaginator | paginator(Collection $items, int $total, int $perPage, int $currentPage, array $options)
Создать новый экземпляр постраничного объекта с учетом длины. | from BuildsQueries |
| Paginator | simplePaginator(Collection $items, int $perPage, int $currentPage, array $options)
Создать новый экземпляр простого постраничного объекта. | from BuildsQueries |
| CursorPaginator | cursorPaginator(Collection $items, int $perPage, Cursor $cursor, array $options)
Создать новый экземпляр постраничного объекта курсора. | from BuildsQueries |
| $this | tap(callable $callback)
Передать запрос в заданный обратный вызов. | from BuildsQueries |
| mixed | forwardCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода на данный объект. | from ForwardsCalls |
| mixed | forwardDecoratedCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода на данный объект, возвращая $this, если перенаправленный вызов вернул себя. | from ForwardsCalls |
| static void | throwBadMethodCallException(string $method)
Выбросить исключение неверного вызова метода для данного метода. | from ForwardsCalls |
| Builder|QueriesRelationships | has(Relation|string $relation, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure $callback = null)
Добавить условие подсчета/существования отношения к запросу. | from 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)
Добавить условие подсчета/существования полиморфного отношения к запросу с условиями «где». | from QueriesRelationships |
| Builder|QueriesRelationships | orWhereHasMorph(MorphTo|string $relation, string|array $types, Closure $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчета/существования полиморфного отношения к запросу с условиями «где» и «или». | from QueriesRelationships |
| Builder|QueriesRelationships | whereDoesntHaveMorph(MorphTo|string $relation, string|array $types, Closure $callback = null)
Добавить условие подсчета/существования полиморфного отношения к запросу с условиями «где». | from QueriesRelationships |
| Builder|QueriesRelationships | orWhereDoesntHaveMorph(MorphTo|string $relation, string|array $types, Closure $callback = null)
Добавить условие подсчета/существования полиморфного отношения к запросу с условиями «где» и «или». | from QueriesRelationships |
| Builder|QueriesRelationships | whereRelation(string $relation, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Добавить базовое условие «где» к запросу отношения. | from QueriesRelationships |
| Builder|QueriesRelationships | orWhereRelation(string $relation, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Добавить условие «или где» к запросу отношения. | from QueriesRelationships |
| Builder|QueriesRelationships | whereMorphRelation(MorphTo|string $relation, string|array $types, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Добавить условие полиморфного отношения к запросу с помощью условия «где». | from QueriesRelationships |
| Builder|QueriesRelationships | orWhereMorphRelation(MorphTo|string $relation, string|array $types, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Добавить условие полиморфного отношения к запросу с помощью условия «или где». | from QueriesRelationships |
| Builder|QueriesRelationships | whereMorphedTo(MorphTo|string $relation, Model|string|null $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|null $model)
Добавить условие отношения «morph-to» к запросу с помощью условия «или где». | from QueriesRelationships |
| Builder|QueriesRelationships | orWhereNotMorphedTo(MorphTo|string $relation, Model|string $model)
Добавить условие отношения «не morph-to» к запросу с помощью условия «или где». | from 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 $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 |
| Builder|QueriesRelationships | addHasWhere(Builder $hasQuery, Relation $relation, string $operator, int $count, string $boolean)
Добавить условие "has" к запросу. | из QueriesRelationships |
| Builder|QueriesRelationships | mergeConstraintsFrom(Builder $from)
Объединить условия where из другого запроса в текущий запрос. | из QueriesRelationships |
| array | requalifyWhereTables(array $wheres, string $from, string $to)
Обновляет имя таблицы для столбцов с новым квалифицированным именем. | из QueriesRelationships |
| $this | addWhereCountQuery(Builder $query, string $operator = '>=', int $count = 1, string $boolean = 'and')
Добавить условие подзапроса count к этому запросу. | из QueriesRelationships |
| Relation | getRelationWithoutConstraints(string $relation)
Получить экземпляр базового запроса "has relation". | из QueriesRelationships |
| bool | canUseExistsForExistenceCheck(string $operator, int $count)
Проверить, можно ли выполнить запрос "exists" для оптимизации производительности. | из QueriesRelationships |
| void | __construct(Builder $query)
Создать новый экземпляр билдера запросов Eloquent. | |
| Model|Builder | make(array $attributes = [])
Создать и вернуть экземпляр модели без сохранения. | |
| $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|Expression $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Добавить базовое условие where в запрос и вернуть первый результат. | |
| $this | orWhere(Closure|array|string|Expression $column, mixed $operator = null, mixed $value = null)
Добавить условие "или где" в запрос. | |
| $this | whereNot(Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Добавить базовое условие "где не" в запрос. | |
| $this | orWhereNot(Closure|array|string|Expression $column, mixed $operator = null, mixed $value = null)
Добавить условие "или где не" в запрос. | |
| $this | latest(string|Expression $column = null)
Добавить условие "упорядочить по" для временной метки в запрос. | |
| $this | oldest(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 = [])
Получить первую запись, соответствующую атрибутам. Если запись не найдена, создать её. | |
| Модель|Билдер | createOrFirst(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 = ['*'])
Выполнить запрос как операцию "выбрать". | |
| Модель[]|Билдер[] | 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», если он ещё не указан в запросе. | |
| Collection | 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)
Вывести результаты заданного запроса по страницам в курсовом пагинаторе. | |
| Collection | ensureOrderForCursorPagination(bool $shouldReverse = false)
Обеспечить правильный порядок, необходимый для курсовой пагинации. | |
| Model|$this | create(array $attributes = [])
Сохранить новую модель и вернуть экземпляр. | |
| Model|$this | forceCreate(array $attributes)
Сохранить новую модель и вернуть экземпляр. Разрешить присвоение по массе. | |
| Model|$this | 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, разделив их по заданному количеству условий 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)
Указать отношения, которые должны быть загружены с помощью eager loading. | |
| $this | without(mixed $relations)
Запретить загрузку указанных отношений с помощью eager loading. | |
| $this | withOnly(mixed $relations)
Указать отношения, которые должны быть загружены с помощью eager loading, удалив при этом все ранее заданные параметры eager loading. | |
| Model|Builder | newModelInstance(array $attributes = [])
Создать новый экземпляр модели, по которой выполняется запрос. | |
| array | parseWithRelations(array $relations)
Разбить список отношений на отдельные. | |
| array | prepareNestedWithRelationships(array $relations, string $prefix = '')
Подготовить вложенные отношения с eager loading. |
| 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()
Получение стандартного имени ключа таблицы. | |
| Model|Builder | getModel()
Получение экземпляра модели, к которой производится запрос. | |
| $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 void | registerMixin(string $mixin, bool $replace)
Регистрация данного миксина в билдере. | |
| Builder | clone()
Клонирование Eloquent билдера запроса. | |
| void | __clone()
Вынужденное клонирование базового билдера запроса при клонировании. |
Подробности
$this|TWhenReturnType when($value = null, callable $callback = null, callable $default = null)
Применить обратный вызов, если данное «значение» истинно (или разрешается до истинного значения).
$this|TUnlessReturnType unless($value = null, callable $callback = null, callable $default = null)
Применить обратный вызов, если данное «значение» ложно (или разрешается до ложного значения).
bool chunk(int $count, callable $callback)
Разбить результаты запроса на блоки.
Collection chunkMap(callable $callback, int $count = 1000)
Выполнение отображения над каждым элементом с разбивкой на блоки.
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)
Ленивый запрос, разбивая результаты запроса по сравниванию идентификаторов в заданном порядке.
Модель|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)
Выбросить исключение BadMethodCallException для заданного метода.
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)
Добавить условие подсчёта/существования связи к запросу с помощью "or".
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 и оператором "или".
Builder|QueriesRelationships whereRelation(string $relation, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Добавить базовое условие where к запросу отношения.
Builder|СвязиЗапросов orWhereRelation(string $relation, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Добавить условие «или где» к запросу к связи.
Builder|СвязиЗапросов whereMorphRelation(MorphTo|string $relation, string|array $types, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Добавить условие полиморфной связи с помощью условия «где» к запросу.
Builder|СвязиЗапросов orWhereMorphRelation(MorphTo|string $relation, string|array $types, Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null)
Добавить условие полиморфной связи с помощью условия «или где» к запросу.
Builder|СвязиЗапросов whereMorphedTo(MorphTo|string $relation, Модель|string|null $model, $boolean = 'and')
Добавить условие связи «морфированная принадлежность» к запросу.
Builder|СвязиЗапросов whereNotMorphedTo(MorphTo|string $relation, Модель|string $model, $boolean = 'and')
Добавить условие «не морфированная принадлежность» к запросу.
Builder|СвязиЗапросов orWhereMorphedTo(MorphTo|string $relation, Модель|string|null $model)
Добавить условие связи «морфированная принадлежность» к запросу с помощью условия «или где».
Builder|СвязиЗапросов orWhereNotMorphedTo(MorphTo|string $relation, Модель|string $model)
Добавить условие «не морфированная принадлежность» к запросу с помощью условия «или где».
$this whereBelongsTo(Модель|Model> $related, string|null $relationshipName = null, string $boolean = 'and')
Добавить условие связи «принадлежность» к запросу.
$this orWhereBelongsTo(Модель $related, string|null $relationshipName = null)
Добавить отношение «BelongsTo» с условием «или где» к запросу.
$this withAggregate(mixed $relations, Выражение|string $column, string $function = null)
Добавить подзапросы для включения агрегированного значения для отношения.
protected string getRelationHashedColumn(string $column, Отношение $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 Строитель|ЗапросыОтношений addHasWhere(Строитель $hasQuery, Отношение $relation, string $operator, int $count, string $boolean)
Добавить условие «has» в запрос.
Строитель|ЗапросыОтношений mergeConstraintsFrom(Строитель $from)
Объединить условия where из другого запроса в текущий запрос.
protected array requalifyWhereTables(array $wheres, string $from, string $to)
Обновляет имя таблицы для столбцов с новым квалифицированным именем.
protected $this addWhereCountQuery(Строитель $query, string $operator = '>=', int $count = 1, string $boolean = 'and')
Добавить условие подсчета подзапроса к этому запросу.
protected Relation getRelationWithoutConstraints(string $relation)
Получить экземпляр базового запроса «отношения имеет».
protected bool canUseExistsForExistenceCheck(string $operator, int $count)
Проверить, можем ли мы выполнить запрос «существует» для оптимизации производительности.
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 в запрос.
Модель|Builder|null firstWhere(Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Добавить базовое условие where в запрос и вернуть первый результат.
$this orWhere(Closure|array|string|Expression $column, mixed $operator = null, mixed $value = null)
Добавить условие «или где» в запрос.
$this whereNot(Closure|string|array|Expression $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Добавить условие «не где» в запрос.
$this orWhereNot(Closure|array|string|Expression $column, mixed $operator = null, mixed $value = null)
Добавить условие "или не где" к запросу.
$this latest(string|Expression $column = null)
Добавить условие "сортировка по" для метки времени в запрос.
$this oldest(string|Expression $column = null)
Добавить условие "сортировка по" для метки времени в запрос.
Collection hydrate(array $items)
Создать коллекцию моделей из простых массивов.
Collection 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 = [])
Получить первую запись, соответствующую атрибутам. Если запись не найдена, создать её.
Модель|Билдер createOrFirst(array $attributes = [], array $values = [])
Попытка создания записи. Если происходит нарушение уникального ограничения, выполняется поиск совпадающей записи.
Модель|Билдер updateOrCreate(array $attributes, array $values = [])
Создать или обновить запись, соответствующую атрибутам, и заполнить её значениями.
Модель|Билдер firstOrFail(array|string $columns = ['*'])
Выполнить запрос и получить первый результат или выбросить исключение.
Модель|Билдер|смешанное firstOr(Closure|массив|строка $columns = ['*'], Closure $callback = null)
Выполнить запрос и получить первый результат или вызвать обратный вызов.
смешанное value(строка|Выражение $column)
Получить значение одного столбца из первого результата запроса.
смешанное soleValue(строка|Выражение $column)
Получить значение одного столбца из первого результата запроса, если это единственная соответствующая запись.
смешанное valueOrFail(строка|Выражение $column)
Получить значение одного столбца из первого результата запроса или выбросить исключение.
Модель[]|Билдер[] getModels(массив|строка $columns = ['*'])
Получить гидратированные модели без ленивой загрузки.
массив eagerLoadRelations(массив $models)
Загрузить отношения для моделей.
protected массив eagerLoadRelation(массив $models, строка $name, Closure $constraints)
Загрузить отношение для набора моделей.
Отношение getRelation(строка $name)
Получить экземпляр отношения для заданного имени отношения.
protected массив relationsNestedUnder(строка $relation)
Получить глубоко вложенные отношения для заданного отношения верхнего уровня.
protected логическое isNestedUnder(строка $relation, строка $name)
Определить, является ли отношение вложенным.
ЛениваяКоллекция cursor()
Получить ленивую коллекцию для данного запроса.
protected void enforceOrderBy()
Добавить общий оператор ORDER BY, если его ещё нет в запросе.
Коллекция pluck(string|Выражение $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', Курсор|string|null $cursor = null)
Разбить результат запроса на страницы с использованием курсоров.
protected Коллекция ensureOrderForCursorPagination(bool $shouldReverse = false)
Обеспечить правильный порядок, необходимый для постраничного отображения с курсорами.
Модель|$this create(array $attributes = [])
Сохранить новую модель и вернуть экземпляр.
Модель|$this forceCreate(array $attributes)
Сохранить новую модель и вернуть экземпляр. Разрешить массивное присваивание.
Модель|$this 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|Выражение $column, float|int $amount = 1, array $extra = [])
Увеличить значение столбца на заданную величину.
int decrement(string|Выражение $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)
Добавить столбец "обновлено в" к столбцам для обновления.
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)
Установить отношения, которые должны быть загружены с жадной загрузкой, удаляя при этом любые ранее добавленные спецификации жадной загрузки.
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)
Применить преобразования во время запроса к экземпляру модели.
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()
Получить имя ключа по умолчанию таблицы.
$this setModel(Модель $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/10.x/Illuminate/Database/Eloquent/Builder.html