Библиотека построения
класс Библиотека построения mixin Библиотека построения (Просмотреть исходный код)
Трейты
| Связи запросов | |
| Перенаправление вызовов | |
| Построение запросов | |
| Условные данные |
Свойства
| 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 |
Методы
| 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 | 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 и оператором "or". | 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|СвязиСЗапросами | 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|QueriesRelationships | whereMorphedTo(MorphTo|string $relation, Model|string $model, $boolean = 'and')
Добавить условие связи "morph-to" в запрос. | from QueriesRelationships |
| Builder|QueriesRelationships | orWhereMorphedTo(MorphTo|string $relation, Model|string $model)
Добавить условие связи "morph-to" в запрос с помощью "или где" (or where). | from QueriesRelationships |
| $this | whereBelongsTo(Model $related, $relationshipName = null, string $boolean = 'and')
Добавить условие связи "belongs to" в запрос. | from QueriesRelationships |
| $this | orWhereBelongsTo(Model $related, $relationshipName = null)
Добавить условие связи "BelongsTo" с "или где" (or where) в запрос. | from QueriesRelationships |
| $this | withAggregate(mixed $relations, string $column, string $function = null)
Добавить подзапросы для включения агрегированного значения для отношения. | из QueriesRelationships |
| $this | withCount(mixed $relations)
Добавить подзапросы для подсчета отношений. | из QueriesRelationships |
| $this | withMax(string|array $relation, string $column)
Добавить подзапросы для включения максимального значения столбца отношения. | из QueriesRelationships |
| $this | withMin(string|array $relation, string $column)
Добавить подзапросы для включения минимального значения столбца отношения. | из QueriesRelationships |
| $this | withSum(string|array $relation, string $column)
Добавить подзапросы для включения суммы значений столбца отношения. | из QueriesRelationships |
| $this | withAvg(string|array $relation, string $column)
Добавить подзапросы для включения среднего значения столбца отношения. | из QueriesRelationships |
| $this | withExists(string|array $relation)
Добавить подзапросы для включения существования связанных моделей. | from QueriesRelationships |
| Builder|QueriesRelationships | addHasWhere(Builder $hasQuery, Relation $relation, string $operator, int $count, string $boolean)
Добавить условие "has" в предложение where запроса. | from QueriesRelationships |
| Builder|QueriesRelationships | mergeConstraintsFrom(Builder $from)
Объединить условия where из другого запроса в текущий запрос. | from QueriesRelationships |
| $this | addWhereCountQuery(Builder $query, string $operator = '>=', int $count = 1, string $boolean = 'and')
Добавить подзапрос для подсчета к текущему запросу. | from QueriesRelationships |
| Связь | getRelationWithoutConstraints(string $relation)
Получить экземпляр базового запроса "имеет отношение". | из СвязиЗапросов |
| bool | canUseExistsForExistenceCheck(string $operator, int $count)
Проверить, можно ли выполнить запрос "существует" для оптимизации производительности. | из СвязиЗапросов |
| mixed | forwardCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода данному объекту. | из ПеренаправлениеВызовов |
| mixed | forwardDecoratedCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода данному объекту, вернув $this, если перенаправленный вызов вернул себя. | из ПеренаправлениеВызовов |
| static void | throwBadMethodCallException(string $method)
Выбросить исключение плохого вызова метода для данного метода. | из ПеренаправлениеВызовов |
| $this|mixed | when(mixed $value, callable $callback, callable|null $default = null)
Применить обратный вызов, если заданное "значение" истинно. | из Условный |
| $this|mixed | unless(mixed $value, callable $callback, callable|null $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 | 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 |
| Модель | sole(array|string $columns = ['*'])
Выполнить запрос и получить первый результат, если это единственная совпадающая запись. | |
| CursorPaginator | paginateUsingCursor(int $perPage, array $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|mixed | tap(callable $callback)
Передать запрос в заданный обратный вызов. | из BuildsQueries |
| void | __construct(Builder $query)
Создать новый экземпляр билдера запросов Eloquent. | |
| Model|Builder | make(array $attributes = [])
Создать и вернуть экземпляр модели без сохранения. | |
| $this | withGlobalScope(string $identifier, Scope|Closure $scope)
Зарегистрировать новый глобальный скоуп. | |
| $this | withoutGlobalScope(Scope|string $scope)
Удалить зарегистрированный глобальный скоуп. | |
| $this | withoutGlobalScopes(array $scopes = null)
Удалить все или переданные зарегистрированные глобальные скоупы. | |
| array | removedScopes()
Получить массив глобальных скоупов, удалённых из запроса. |
| $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 | latest(string|Expression $column = null)
Добавить условие "сортировать по" для временной метки в запрос. | |
| $this | oldest(string|Expression $column = null)
Добавить условие "сортировать по" для временной метки в запрос. |
| Коллекция | hydrate(array $items)
Создать коллекцию моделей из обычных массивов. | |
| Коллекция | fromQuery(string $query, array $bindings = [])
Создать коллекцию моделей из исходного запроса. | |
| Модель|Коллекция|Билдер[]|Билдер|null | find(mixed $id, array $columns = ['*'])
Найти модель по её первичному ключу. | |
| Коллекция | findMany(Arrayable|array $ids, array $columns = ['*'])
Найти несколько моделей по их первичным ключам. | |
| Модель|Коллекция|Билдер|Билдер[] | findOrFail(mixed $id, array $columns = ['*'])
Найти модель по её первичному ключу или выбросить исключение. | |
| Модель|Билдер | findOrNew(mixed $id, array $columns = ['*'])
Найти модель по её первичному ключу или вернуть новый экземпляр модели. |
| Модель|Построитель | firstOrNew(array $attributes = [], array $values = [])
Получить первую запись, соответствующую атрибутам, или создать её экземпляр. | |
| Модель|Построитель | firstOrCreate(array $attributes = [], array $values = [])
Получить первую запись, соответствующую атрибутам, или создать её. | |
| Модель|Построитель | updateOrCreate(array $attributes, array $values = [])
Создать или обновить запись, соответствующую атрибутам, и заполнить её значениями. | |
| Модель|Построитель | firstOrFail(array $columns = ['*'])
Выполнить запрос и получить первый результат или выбросить исключение. | |
| Модель|Построитель|mixed | firstOr(Closure|array $columns = ['*'], Closure $callback = null)
Выполнить запрос и получить первый результат или вызвать обратный вызов. | |
| mixed | value(string|Expression $column)
Получить значение одного столбца из первого результата запроса. | |
| mixed | valueOrFail(string|Expression $column)
Получить значение одного столбца из первого результата запроса или выбросить исключение. |
| Коллекция|Билдер[] | get(array|string $columns = ['*'])
Выполнить запрос как оператор "select". | |
| Модель[]|Билдер[] | getModels(array|string $columns = ['*'])
Получить загруженные модели без ленивой загрузки. | |
| массив | eagerLoadRelations(array $models)
Ленивая загрузка отношений для моделей. | |
| массив | eagerLoadRelation(array $models, string $name, Closure $constraints)
Ленивая загрузка отношения для набора моделей. | |
| Отношение | getRelation(string $name)
Получить экземпляр отношения для заданного имени отношения. | |
| массив | 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 $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)
Выполнить постраничную навигацию для заданного запроса. | |
| Paginator | simplePaginate(int|null $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)
Выполнить постраничную навигацию для заданного запроса с помощью простого пагинатора. | |
| CursorPaginator | cursorPaginate(int|null $perPage = null, array $columns = ['*'], string $cursorName = 'cursor', Cursor|string|null $cursor = null)
Выполнить постраничную навигацию для заданного запроса с помощью пагинатора на основе курсора. | |
| Collection | ensureOrderForCursorPagination(bool $shouldReverse = false)
Обеспечить правильный порядок, необходимый для пагинации на основе курсора. | |
| Model|$this | create(array $attributes = [])
Сохранить новую модель и вернуть экземпляр. | |
| Model|$this | forceCreate(array $attributes)
Сохранить новую модель и вернуть экземпляр. Разрешить массовое назначение. |
| int | update(array $values) Обновление записей в базе данных. | |
| int | upsert(array $values, array|string $uniqueBy, array|null $update = 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) Определение наличия указанного именованного ограничения у модели. |
| Builder|смешанный тип | scopes(массив|строка $scopes)
Вызвать заданные локальные модели-скопы. | |
| Builder | applyScopes()
Применить скоупы к экземпляру Eloquent-билдера и вернуть его. | |
| смешанный тип | callScope(замыкание $scope, массив $parameters = [])
Применить заданный скоуп к текущему экземпляру билдера. | |
| смешанный тип | callNamedScope(строка $scope, массив $parameters = [])
Применить заданный именованный скоуп к текущему экземпляру билдера. | |
| void | addNewWheresWithinGroup(Builder $query, целое число $originalWhereCount)
Вложить условия where, разделив их на заданное количество. | |
| void | groupWhereSliceForScope(Builder $query, массив $whereSlice)
Разделить условия where по заданному смещению и добавить их в запрос как вложенное условие. | |
| массив | createNestedWhere(массив $whereSlice, строка $boolean = 'and')
Создать массив where с вложенными условиями where. | |
| $this | with(строка|массив $relations, строка|замыкание|null $callback = null)
Установить связи, которые должны быть загружены жадно. | |
| $this | without(смешанный тип $relations)
Запретить загрузку указанных связей жадно. |
| $this | withOnly(mixed $relations)
Установите отношения, которые должны быть загружены с жадностью, удаляя любые ранее добавленные спецификации загрузки с жадностью. | |
| Model|Builder | newModelInstance(array $attributes = [])
Создайте новый экземпляр модели, по которой выполняется запрос. | |
| array | parseWithRelations(array $relations)
Разбейте список отношений на отдельные. | |
| array | createSelectWithConstraint(string $name)
Создайте ограничение для выбора указанных столбцов для отношения. | |
| array | addNestedWiths(string $name, array $results)
Обработайте вложенные отношения в отношении. | |
| $this | withCasts(array $casts)
Примените преобразования в запросе к экземпляру модели. | |
| Builder | getQuery()
Получить базовый экземпляр билдера запросов. | |
| $this | setQuery(Builder $query)
Установить базовый экземпляр билдера запросов. | |
| Builder | toBase()
Получить базовый экземпляр билдера запросов. | |
| array | getEagerLoads()
Получить отношения, загружаемые с жадностью. |
| $this | setEagerLoads(array $eagerLoad)
Установить отношения, которые загружаются с жадностью. | |
| string | defaultKeyName()
Получить имя по умолчанию для ключа таблицы. | |
| Модель|Библиотека | getModel()
Получить экземпляр модели, по которой выполняется запрос. | |
| $this | setModel(Модель $model)
Установить экземпляр модели для модели, по которой выполняется запрос. | |
| string | qualifyColumn(string|Выражение $column)
Квалифицировать заданное имя столбца по таблице модели. | |
| array | qualifyColumns(array|Выражение $columns)
Квалифицировать заданные столбцы по таблице модели. | |
| Замыкание | getMacro(string $name)
Получить заданный макрос по имени. | |
| bool | hasMacro(string $name)
Проверяет, зарегистрирован ли макрос. | |
| static Замыкание | 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()
Принудительное клонирование базового сборщика запросов при клонировании. |
Подробности
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 orWhereHas(string $relation, Closure $callback = null, string $operator = '>=', int $count = 1)
Добавить условие подсчёта/существования отношения к запросу с условиями where и оператором "or".
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)
Добавить условие "или где" к запросу отношения.
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)
Добавить условие полиморфного отношения к запросу с помощью оператора "или где".
Builder|QueriesRelationships whereMorphedTo(MorphTo|string $relation, Model|string $model, $boolean = 'and')
Добавить условие связи "morph-to" в запрос.
Builder|QueriesRelationships orWhereMorphedTo(MorphTo|string $relation, Model|string $model)
Добавить условие связи "morph-to" в запрос с оператором "или".
$this whereBelongsTo(Model $related, $relationshipName = null, string $boolean = 'and')
Добавить условие "belongs to" в запрос.
$this orWhereBelongsTo(Model $related, $relationshipName = null)
Добавить отношение "BelongsTo" с условием "или где" в запрос.
$this withAggregate(mixed $relations, string $column, string $function = null)
Добавить подзапросы для включения агрегированного значения для отношения.
$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 $this addWhereCountQuery(Builder $query, string $operator = '>=', int $count = 1, string $boolean = 'and')
Добавить условие подзапроса count к этому запросу.
protected Relation getRelationWithoutConstraints(string $relation)
Получить экземпляр базового запроса «имеет отношение».
protected bool canUseExistsForExistenceCheck(string $operator, int $count)
Проверить, можно ли выполнить запрос «существует» для оптимизации производительности.
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)
Выбросить исключение вызова несуществующего метода для данного метода.
$this|mixed when(mixed $value, callable $callback, callable|null $default = null)
Применить коллбэк, если заданное «значение» истинно.
$this|mixed unless(mixed $value, callable $callback, callable|null $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 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)
Выполнить запрос лениво, разделяя результаты запроса на части по сравнениям идентификаторов в заданном порядке.
Model|object|BuildsQueries|null first(array|string $columns = ['*'])
Выполнить запрос и получить первый результат.
Model sole(array|string $columns = ['*'])
Выполнить запрос и получить первый результат, если это единственная соответствующая запись.
protected CursorPaginator paginateUsingCursor(int $perPage, array $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|mixed tap(callable $callback)
Передать запрос в заданный обратный вызов.
void __construct(Builder $query)
Создать новый экземпляр Eloquent билдера запросов.
$this withGlobalScope(string $identifier, Область|Замыкание $scope)
Зарегистрировать новую глобальную область.
$this withoutGlobalScope(Область|string $scope)
Удалить зарегистрированную глобальную область.
$this withoutGlobalScopes(array $scopes = null)
Удалить все или переданные зарегистрированные глобальные области.
array removedScopes()
Получить массив глобальных областей, которые были удалены из запроса.
$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 в запрос.
Model|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 latest(string|Expression $column = null)
Добавить условие сортировки по времени для запроса.
$this oldest(string|Expression $column = null)
Добавить условие сортировки по времени для запроса.
Коллекция hydrate(array $items)
Создать коллекцию моделей из обычных массивов.
Коллекция fromQuery(string $query, array $bindings = [])
Создать коллекцию моделей из запроса в сыром виде.
Model|Collection|Builder[]|Builder|null find(mixed $id, array $columns = ['*'])
Найти модель по её первичному ключу.
Collection findMany(Arrayable|array $ids, array $columns = ['*'])
Найти несколько моделей по их первичным ключам.
Модель|Коллекция|Билдер|Билдер[] findOrFail(mixed $id, array $columns = ['*'])
Найти модель по первичному ключу или выбросить исключение.
Модель|Билдер findOrNew(mixed $id, array $columns = ['*'])
Найти модель по первичному ключу или вернуть новый экземпляр модели.
Модель|Билдер firstOrNew(array $attributes = [], array $values = [])
Получить первую запись, соответствующую атрибутам, или создать её.
Модель|Билдер firstOrCreate(array $attributes = [], array $values = [])
Получить первую запись, соответствующую атрибутам, или создать её.
Модель|Билдер updateOrCreate(array $attributes, array $values = [])
Создать или обновить запись, соответствующую атрибутам, и заполнить её значениями.
Model|Builder firstOrFail(array $columns = ['*'])
Выполнить запрос и получить первый результат или выбросить исключение.
Model|Builder|mixed firstOr(Closure|array $columns = ['*'], Closure $callback = null)
Выполнить запрос и получить первый результат или вызвать обратный вызов.
mixed value(string|Expression $column)
Получить значение одного столбца из первого результата запроса.
смешанный valueOrFail(string|Expression $column)
Получить значение одного столбца из первого результата запроса или выбросить исключение.
Модель[]|Builder[] getModels(array|string $columns = ['*'])
Получить гидратированные модели без ленивой загрузки.
array eagerLoadRelations(array $models)
Загрузить отношения для моделей.
protected array eagerLoadRelation(array $models, string $name, Closure $constraints)
Загрузить отношение для набора моделей.
Relation getRelation(string $name)
Получить экземпляр отношения для заданного имени отношения.
protected array relationsNestedUnder(string $relation)
Получить глубоко вложенные отношения для заданного отношения верхнего уровня.
protected bool isNestedUnder(string $relation, string $name)
Определить, является ли отношение вложенным.
LazyCollection cursor()
Получить ленивую коллекцию для заданного запроса.
protected void enforceOrderBy()
Добавить общий пункт "order by", если в запросе его нет.
Collection pluck(string|Expression $column, string|null $key = null)
Получить массив со значениями заданного столбца.
LengthAwarePaginator paginate(int|null $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)
Разбить заданный запрос на страницы.
Paginator simplePaginate(int|null $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)
Разбить заданный запрос на страницы с простым пагинатором.
CursorPaginator cursorPaginate(int|null $perPage = null, array $columns = ['*'], string $cursorName = 'cursor', Cursor|string|null $cursor = null)
Разбить заданный запрос на страницы с помощью курсора.
protected Collection ensureOrderForCursorPagination(bool $shouldReverse = false)
Обеспечить правильный порядок, необходимый для постраничного отображения с помощью курсора.
Model|$this create(array $attributes = [])
Сохранить новую модель и вернуть экземпляр.
Модель|$this forceCreate(array $attributes)
Сохранить новую модель и вернуть экземпляр. Разрешить массивное присваивание.
int update(array $values)
Обновить записи в базе данных.
int upsert(array $values, array|string $uniqueBy, array|null $update = null)
Вставить новые записи или обновить существующие.
int increment(string|Expression $column, float|int $amount = 1, array $extra = [])
Увеличить значение столбца на заданную величину.
int decrement(string|Expression $column, float|int $amount = 1, array $extra = [])
Уменьшить значение столбца на заданную величину.
protected array addUpdatedAtColumn(array $values)
Добавить столбец "updated at" в массив значений.
protected array addTimestampsToUpsertValues(array $values)
Добавить метки времени к вставленным значениям.
protected array addUpdatedAtToUpsertColumns(array $update)
Добавить столбец "updated at" к обновляемым столбцам.
mixed delete()
Удалить записи из базы данных.
mixed forceDelete()
Выполнить функцию удаления по умолчанию для билдера.
Поскольку здесь не применяются области, строка фактически будет удалена.
void onDelete(Closure $callback)
Зарегистрировать замену для функции удаления по умолчанию.
bool hasNamedScope(string $scope)
Определить, имеет ли данная модель область.
Builder|mixed scopes(array|string $scopes)
Вызвать заданные локальные области модели.
Builder applyScopes()
Применить области к экземпляру билдера Eloquent и вернуть его.
protected mixed callScope(callable $scope, array $parameters = [])
Применить заданный scope к текущему экземпляру билдера.
protected mixed callNamedScope(string $scope, array $parameters = [])
Применить заданный именованный scope к текущему экземпляру билдера.
protected void addNewWheresWithinGroup(Builder $query, int $originalWhereCount)
Вложить условия 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)
Установить отношения, которые должны быть загружены с помощью eager loading.
$this without(mixed $relations)
Запретить загрузку указанных отношений с помощью eager loading.
$this withOnly(mixed $relations)
Установить отношения, которые должны быть загружены с помощью eager loading, удаляя все ранее добавленные спецификации eager loading.
Модель|Билдер newModelInstance(array $attributes = [])
Создать новый экземпляр модели, на которую выполняется запрос.
protected array parseWithRelations(array $relations)
Разбить список отношений на отдельные.
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)
Установить отношения, которые загружаются с нетерпением.
protected string defaultKeyName()
Получить имя ключа по умолчанию для таблицы.
$this setModel(Модель $model)
Установить экземпляр модели для модели, к которой осуществляется запрос.
string qualifyColumn(string|Выражение $column)
Квалифицировать имя столбца по таблице модели.
array qualifyColumns(array|Выражение $columns)
Квалифицировать указанные столбцы по таблице модели.
Closure getMacro(string $name)
Получить макрос по имени.
bool hasMacro(string $name)
Проверяет, зарегистрирован ли макрос.
static Closure getGlobalMacro(string $name)
Получить глобальный макрос по имени.
static bool hasGlobalMacro(string $name)
Проверяет, зарегистрирован ли глобальный макрос.
mixed __get(string $key)
Динамический доступ к прокси-серверам билдера.
смешанный __call(string $method, array $parameters)
Динамически обрабатывает вызовы к экземпляру запроса.
статический смешанный __callStatic(string $method, array $parameters)
Динамически обрабатывает вызовы к экземпляру запроса.
статический защищенный void registerMixin(string $mixin, bool $replace)
Регистрирует заданный миксин в билдере.
Билдер clone()
Клонирует билдер запросов Eloquent.
void __clone()
Принудительно клонирует базовый билдер запросов при клонировании.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/8.x/Illuminate/Database/Eloquent/Builder.html