Spec-Zone.ru › Laravel 5.2

Builder

class Builder (View source)

Свойства

protected Builder $query Базовый экземпляр билдера запросов.
protected Model $model Запрашиваемая модель.
protected array $eagerLoad Связи, которые должны быть загружены с нетерпением.
protected array $macros Все зарегистрированные макросы билдера.
protected Closure $onDelete Замена для типичной функции удаления.
protected array $passthru Методы, которые должны возвращаться из билдера запросов.
protected array $scopes Примененные глобальные области.
protected array $removedScopes Удаленные глобальные области.

Методы

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, которые были удалены из запроса.

Model|Collection|Builder[]|Builder|null find(mixed $id, array $columns = ['*'])

Найти модель по её первичному ключу.

Collection findMany(array $ids, array $columns = ['*'])

Найти несколько моделей по их первичным ключам.

Model|Collection findOrFail(mixed $id, array $columns = ['*'])

Найти модель по её первичному ключу или бросить исключение.

Model findOrNew(mixed $id, array $columns = ['*'])

Найти модель по её первичному ключу или вернуть свежий экземпляр модели.

Model firstOrNew(array $attributes)

Получить первую запись, соответствующую атрибутам, или создать её.

Model firstOrCreate(array $attributes)

Получить первую запись, соответствующую атрибутам, или создать её.

Model updateOrCreate(array $attributes, array $values = [])

Создать или обновить запись, соответствующую атрибутам, и заполнить её значениями.

Model|Builder|null first(array $columns = ['*'])

Выполнить запрос и получить первый результат.

Model|Builder firstOrFail(array $columns = ['*'])

Выполнить запрос и получить первый результат или бросить исключение.

Collection|Builder[] get(array $columns = ['*'])

Выполнить запрос как операцию "select".

mixed value(string $column)

Получить значение одного столбца из первого результата запроса.

Generator cursor()

Получить генератор для данного запроса.

bool chunk(int $count, callable $callback)

Разбить результаты запроса на части.

bool chunkById(int $count, callable $callback, string $column = 'id')

Разбить результаты запроса на части по сравнимым числовым идентификаторам.

bool each(callable $callback, int $count = 1000)

Применить обратный вызов к каждому элементу, разбивая на части.

Collection pluck(string $column, string|null $key = null)

Получить массив со значениями заданного столбца.

Collection lists(string $column, string $key = null) deprecated

Псевдоним для метода "pluck".

LengthAwarePaginator paginate(int $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)

Сгруппировать результаты заданного запроса по страницам.

Paginator simplePaginate(int $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)

Сгруппировать результаты заданного запроса по страницам с помощью простого пагинатора.

int update(array $values)

Обновить запись в базе данных.

int increment(string $column, int $amount = 1, array $extra = [])

Увеличить значение столбца на заданную величину.

int decrement(string $column, int $amount = 1, array $extra = [])

Уменьшить значение столбца на заданную величину.

array addUpdatedAtColumn(array $values)

Добавить столбец "updated at" в массив значений.

mixed delete()

Удалить запись из базы данных.

mixed forceDelete()

Выполнить стандартную функцию удаления для билдера.

void onDelete(Closure $callback)

Зарегистрировать замену для стандартной функции удаления.

Model[] getModels(array $columns = ['*'])

Получить гидратированные модели без eager loading.

array eagerLoadRelations(array $models)

Загрузить отношения для моделей.

array loadRelation(array $models, string $name, Closure $constraints)

Загрузить отношение для набора моделей.

Relation getRelation(string $name)

Получить экземпляр отношения для заданного имени отношения.

array nestedRelations(string $relation)

Получить глубоко вложенные отношения для заданного отношения верхнего уровня.

bool isNested(string $name, string $relation)

Определить, является ли отношение вложенным.

$this when(bool $value, Closure $callback)

Применить изменения запроса, заданные обратным вызовом, если заданное "value" равно true.

$this where(string $column, string $operator = null, mixed $value = null, string $boolean = 'and')

Добавить базовое условие where к запросу.

Builder|Builder orWhere(string $column, string $operator = null, mixed $value = null)

Добавить условие "или где" к запросу.

Builder|Builder has(string $relation, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure $callback = null)

Добавить условие подсчета/существования связи к запросу.

Builder|Builder hasNested(string $relations, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure|null $callback = null)

Добавить условия подсчета/существования вложенных связей к запросу.

Builder|Builder doesntHave(string $relation, string $boolean = 'and', Closure $callback = null)

Добавить условие подсчета/существования связи к запросу.

Builder|Builder whereHas(string $relation, Closure $callback, string $operator = '>=', int $count = 1)

Добавить условие подсчета/существования связи к запросу с условиями where.

Builder|Builder whereDoesntHave(string $relation, Closure $callback = null)

Добавить условие подсчета/существования связи к запросу с условиями where.

Builder|Builder orHas(string $relation, string $operator = '>=', int $count = 1)

Добавить условие подсчета/существования связи к запросу с "или".

Builder|Builder orWhereHas(string $relation, Closure $callback, string $operator = '>=', int $count = 1)

Добавить условие подсчета/существования связи к запросу с условиями where и "или".

Builder|Builder addHasWhere(Builder $hasQuery, Relation $relation, string $operator, int $count, string $boolean)

Добавить условие "has" к запросу.

bool shouldRunExistsQuery(string $operator, int $count)

Проверить, можем ли выполнить запрос "exists" для оптимизации производительности.

$this whereCountQuery(Builder $query, string $operator = '>=', int $count = 1, string $boolean = 'and')

Добавить условие подсчета подзапроса к запросу.

Builder|Builder mergeModelDefinedRelationConstraints(Builder $relation)

Объединить ограничения из запроса связи с текущим запросом.

Relation getHasRelationQuery(string $relation)

Получить экземпляр базового запроса "has relation".

$this with(mixed $relations)

Установить связи, которые должны быть загружены жадно.

$this without(mixed $relations)

Запретить указанные связи от жадной загрузки.

$this withCount(mixed $relations)

Добавить подзапросы для подсчета связей.

array parseWithRelations(array $relations)

Разбирать список связей на отдельные.

array parseNestedWith(string $name, array $results)

Разбирать вложенные связи в связи.

mixed scopes(array $scopes)

Добавить заданные области видимости к текущему экземпляру билдера.

mixed callScope(callable $scope, array $parameters = [])

Применить данную область видимости к текущему экземпляру билдера.

Builder|Builder applyScopes()

Применить области видимости к экземпляру билдера Eloquent и вернуть его.

bool shouldNestWheresForScope(Builder $query, int $originalWhereCount)

Определить, следует ли вкладывать условия where для области видимости после данного смещения.

void nestWheresForScope(Builder $query, int $originalWhereCount)

Вложить условия where путем их разделения на данном счетчике where.

void addNestedWhereSlice(Builder $query, array $wheres, int $offset, int $length = null)

Разделить условия where по заданному смещению и добавить их в запрос как вложенное условие.

array nestWhereSlice(array $whereSlice)

Создать массив where с вложенными условиями where.

Builder getQuery()

Получить базовый экземпляр билдера запросов.

Builder toBase()

Получить экземпляр базового билдера запросов.

$this setQuery(Builder $query)

Установить базовый экземпляр билдера запросов.

array getEagerLoads()

Получить связи, которые будут жадно загружены.

$this setEagerLoads(array $eagerLoad)

Установить связи, которые будут жадно загружены.

Model getModel()

Получить экземпляр модели, к которой осуществляется запрос.

$this setModel(Model $model)

Установить экземпляр модели для модели, к которой осуществляется запрос.

void macro(string $name, Closure $callback)

Расширить билдер заданным колбеком.

Closure getMacro(string $name)

Получить заданный макрос по имени.

mixed __call(string $method, array $parameters)

Динамически обработать вызовы в экземпляр запроса.

void __clone()

Принудительно клонировать базовый билдер при клонировании.

Подробности

void __construct(Builder $query)

Создать новый экземпляр билдера запросов Eloquent.

Параметры

Builder $query

Возвращаемое значение

void

$this withGlobalScope(string $identifier, Scope|Closure $scope)

Зарегистрировать новый глобальный scope.

Параметры

string $identifier
Scope|Closure $scope

Возвращаемое значение

$this

$this withoutGlobalScope(Scope|string $scope)

Удалить зарегистрированный глобальный scope.

Параметры

Scope|string $scope

Возвращаемое значение

$this

$this withoutGlobalScopes(array $scopes = null)

Удалить все или указанные зарегистрированные глобальные scopes.

Параметры

array $scopes

Возвращаемое значение

$this

array removedScopes()

Получить массив глобальных scopes, удаленных из запроса.

Возвращаемое значение

array

Model|Collection|Builder[]|Builder|null find(mixed $id, array $columns = ['*'])

Найти модель по её первичному ключу.

Параметры

mixed $id
array $columns

Возвращаемое значение

Model|Collection|Builder[]|Builder|null

Collection findMany(array $ids, array $columns = ['*'])

Найти несколько моделей по их первичным ключам.

Параметры

array $ids
array $columns

Возвращаемое значение

Collection

Model|Collection findOrFail(mixed $id, array $columns = ['*'])

Найти модель по её первичному ключу или выбросить исключение.

Параметры

mixed $id
array $columns

Возвращаемое значение

Model|Collection

Исключения

ModelNotFoundException

Model findOrNew(mixed $id, array $columns = ['*'])

Найти модель по первичному ключу или вернуть новый экземпляр модели.

Параметры

mixed $id
array $columns

Возвращаемое значение

Model

Model firstOrNew(array $attributes)

Получить первую запись, соответствующую атрибутам, или создать её.

Параметры

array $attributes

Возвращаемое значение

Model

Model firstOrCreate(array $attributes)

Получить первую запись, соответствующую атрибутам, или создать её.

Параметры

array $attributes

Возвращаемое значение

Model

Model updateOrCreate(array $attributes, array $values = [])

Создать или обновить запись, соответствующую атрибутам, и заполнить её значениями.

Параметры

array $attributes
array $values

Возвращаемое значение

Model

Model|Builder|null first(array $columns = ['*'])

Выполнить запрос и получить первый результат.

Параметры

array $columns

Возвращаемое значение

Model|Builder|null

Model|Builder firstOrFail(array $columns = ['*'])

Выполнить запрос и получить первый результат или выбросить исключение.

Параметры

array $columns

Возвращаемое значение

Model|Builder

Исключения

ModelNotFoundException

Коллекция|Билдер[] get(array $columns = ['*'])

Выполнить запрос как операцию «select».

Параметры

массив $columns

Значение результата

Коллекция|Билдер[]

смешанный value(string $column)

Получить значение одного столбца из первого результата запроса.

Параметры

строка $column

Значение результата

смешанный

Генератор cursor()

Получить генератор для данного запроса.

Значение результата

Генератор

логическое значение chunk(int $count, callable $callback)

Разбить результаты запроса на части.

Параметры

целое $count
вызываемый объект $callback

Значение результата

логическое значение

логическое значение chunkById(int $count, callable $callback, string $column = 'id')

Разбить результаты запроса на части, сравнивая числовые идентификаторы.

Параметры

целое $count
вызываемый объект $callback
строка $column

Значение результата

логическое значение

логическое значение each(callable $callback, int $count = 1000)

Выполнить вызываемый объект над каждым элементом при разбиении на части.

Параметры

вызываемый объект $callback
целое $count

Значение результата

логическое значение

Коллекция pluck(string $column, string|null $key = null)

Получить массив со значениями заданного столбца.

Параметры

строка $column
строка|null $key

Значение результата

Коллекция

Коллекция lists(string $column, string $key = null) устарело

устарело

с версии версия 5.2. Используйте метод «pluck» напрямую.

Псевдоним для метода «pluck».

Параметры

строка $column
строка $key

Значение результата

Коллекция

LengthAwarePaginator paginate(int $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)

Разбить запрос на страницы.

Параметры

целое $perPage
массив $columns
строка $pageName
целое|null $page

Значение результата

LengthAwarePaginator

Исключения

InvalidArgumentException

Paginator simplePaginate(int $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)

Разбить запрос на простые страницы.

Параметры

целое $perPage
массив $columns
строка $pageName
целое|null $page

Значение результата

Paginator

целое update(array $values)

Обновить запись в базе данных.

Параметры

массив $values

Значение результата

целое

целое increment(string $column, int $amount = 1, array $extra = [])

Увеличить значение столбца на заданную величину.

Параметры

строка $column
целое $amount
массив $extra

Значение результата

целое

целое decrement(string $column, int $amount = 1, array $extra = [])

Уменьшить значение столбца на заданную величину.

Параметры

строка $column
целое $amount
массив $extra

Значение результата

целое

защищенный массив addUpdatedAtColumn(array $values)

Добавить столбец «updated at» в массив значений.

Параметры

массив $values

Значение результата

массив

смешанный delete()

Удалить запись из базы данных.

Значение результата

смешанный

смешанный forceDelete()

Выполнить стандартную функцию удаления для билдера.

Значение результата

смешанный

пусто onDelete(Замыкание $callback)

Зарегистрировать замену стандартной функции удаления.

Параметры

Замыкание $callback

Значение результата

пусто

Модель[] getModels(array $columns = ['*'])

Получить гидратированные модели без ленивой загрузки.

Параметры

массив $columns

Значение результата

Модель[]

массив eagerLoadRelations(массив $models)

Загрузка отношений для моделей.

Параметры

массив $models

Возвращаемое значение

массив

защищённый массив loadRelation(массив $models, строка $name, Closure $constraints)

Жадно загрузить отношение для набора моделей.

Параметры

массив $models
строка $name
Closure $constraints

Возвращаемое значение

массив

Relation getRelation(строка $name)

Получить экземпляр отношения по заданному имени.

Параметры

строка $name

Возвращаемое значение

Relation

защищённый массив nestedRelations(строка $relation)

Получить глубоко вложенные отношения для заданного верхнего уровня отношения.

Параметры

строка $relation

Возвращаемое значение

массив

защищённый логический тип isNested(строка $name, строка $relation)

Определить, является ли отношение вложенным.

Параметры

строка $name
строка $relation

Возвращаемое значение

логический тип

$this when(логический тип $value, Closure $callback)

Применить изменения запроса обратного вызова, если заданное «значение» истинно.

Параметры

логический тип $value
Closure $callback

Возвращаемое значение

$this

$this where(строка $column, строка $operator = null, смешанный тип $value = null, строка $boolean = 'and')

Добавить базовое условие where к запросу.

Параметры

строка $column
строка $operator
смешанный тип $value
строка $boolean

Возвращаемое значение

$this

Builder|Builder orWhere(строка $column, строка $operator = null, смешанный тип $value = null)

Добавить условие «или где» к запросу.

Параметры

строка $column
строка $operator
смешанный тип $value

Возвращаемое значение

Builder|Builder

Builder|Builder has(строка $relation, строка $operator = '>=', целое число $count = 1, строка $boolean = 'and', Closure $callback = null)

Добавить условие подсчета/существования отношения к запросу.

Параметры

строка $relation
строка $operator
целое число $count
строка $boolean
Closure $callback

Возвращаемое значение

Builder|Builder

защищённый Builder|Builder hasNested(строка $relations, строка $operator = '>=', целое число $count = 1, строка $boolean = 'and', Closure|null $callback = null)

Добавить условия подсчета/существования вложенных отношений к запросу.

Параметры

строка $relations
строка $operator
целое число $count
строка $boolean
Closure|null $callback

Возвращаемое значение

Builder|Builder

Builder|Builder doesntHave(строка $relation, строка $boolean = 'and', Closure $callback = null)

Добавить условие подсчета/существования отношения к запросу.

Параметры

строка $relation
строка $boolean
Closure $callback

Возвращаемое значение

Builder|Builder

Builder|Builder whereHas(строка $relation, Closure $callback, строка $operator = '>=', целое число $count = 1)

Добавить условие подсчета/существования отношения к запросу с условиями where.

Параметры

строка $relation
Closure $callback
строка $operator
целое число $count

Возвращаемое значение

Builder|Builder

Builder|Builder whereDoesntHave(строка $relation, Closure $callback = null)

Добавить условие подсчета/существования отношения к запросу с условиями where.

Параметры

строка $relation
Closure $callback

Возвращаемое значение

Builder|Builder

Builder|Builder orHas(string $relation, string $operator = '>=', int $count = 1)

Добавить условие подсчёта/существования отношения к запросу с "или".

Параметры

string $relation
string $operator
int $count

Возвращаемое значение

Builder|Builder

Builder|Builder orWhereHas(string $relation, Closure $callback, string $operator = '>=', int $count = 1)

Добавить условие подсчёта/существования отношения к запросу с условиями where и "или".

Параметры

string $relation
Closure $callback
string $operator
int $count

Возвращаемое значение

Builder|Builder

protected Builder|Builder addHasWhere(Builder $hasQuery, Relation $relation, string $operator, int $count, string $boolean)

Добавить условие "has" в where-оператор запроса.

Параметры

Builder $hasQuery
Relation $relation
string $operator
int $count
string $boolean

Возвращаемое значение

Builder|Builder

protected bool shouldRunExistsQuery(string $operator, int $count)

Проверить, можем ли запустить запрос "exists" для оптимизации производительности.

Параметры

string $operator
int $count

Возвращаемое значение

bool

protected $this whereCountQuery(Builder $query, string $operator = '>=', int $count = 1, string $boolean = 'and')

Добавить подзапрос с условием подсчёта к запросу.

Параметры

Builder $query
string $operator
int $count
string $boolean

Возвращаемое значение

$this

Builder|Builder mergeModelDefinedRelationConstraints(Builder $relation)

Объединить ограничения из запроса отношения в текущий запрос.

Параметры

Builder $relation

Возвращаемое значение

Builder|Builder

protected Relation getHasRelationQuery(string $relation)

Получить экземпляр базового запроса "has relation".

Параметры

string $relation

Возвращаемое значение

Relation

$this with(mixed $relations)

Установить отношения, которые должны быть загружены жадно.

Параметры

mixed $relations

Возвращаемое значение

$this

$this without(mixed $relations)

Запретить указанные отношения от жадной загрузки.

Параметры

mixed $relations

Возвращаемое значение

$this

$this withCount(mixed $relations)

Добавить подзапросы для подсчёта отношений.

Параметры

mixed $relations

Возвращаемое значение

$this

protected array parseWithRelations(array $relations)

Разбирать список отношений в отдельные.

Параметры

array $relations

Возвращаемое значение

array

protected array parseNestedWith(string $name, array $results)

Разбирать вложенные отношения в отношении.

Параметры

string $name
array $results

Возвращаемое значение

array

mixed scopes(array $scopes)

Добавить заданные scope к текущему экземпляру билдера.

Параметры

array $scopes

Возвращаемое значение

mixed

protected mixed callScope(callable $scope, array $parameters = [])

Применить заданный scope к текущему экземпляру билдера.

Параметры

callable $scope
array $parameters

Возвращаемое значение

mixed

Builder|Builder applyScopes()

Применить scope к экземпляру Eloquent билдера и вернуть его.

Возвращаемое значение

Builder|Builder

protected bool shouldNestWheresForScope(Builder $query, int $originalWhereCount)

Определить, следует ли вкладывать where-операторы для scope, добавленного после указанного смещения.

Параметры

Builder $query
int $originalWhereCount

Возвращаемое значение

bool
END_OF_DOCUMENT_MARKER

protected void nestWheresForScope(Builder $query, int $originalWhereCount)

Вложить условия where, разбив их на куски по заданному количеству условий.

Параметры

Builder $query
int $originalWhereCount

Возвращаемое значение

void

protected void addNestedWhereSlice(Builder $query, array $wheres, int $offset, int $length = null)

Разбить условия where на куски по заданному смещению и добавить их в запрос как вложенное условие.

Параметры

Builder $query
array $wheres
int $offset
int $length

Возвращаемое значение

void

protected array nestWhereSlice(array $whereSlice)

Создать массив where с вложенными условиями where.

Параметры

array $whereSlice

Возвращаемое значение

array

Builder getQuery()

Получить базовый экземпляр билдера запросов.

Возвращаемое значение

Builder

Builder toBase()

Получить базовый экземпляр билдера запросов.

Возвращаемое значение

Builder

$this setQuery(Builder $query)

Установить базовый экземпляр билдера запросов.

Параметры

Builder $query

Возвращаемое значение

$this

array getEagerLoads()

Получить отношения, которые загружаются с жадным чтением.

Возвращаемое значение

array

$this setEagerLoads(array $eagerLoad)

Установить отношения, которые загружаются с жадным чтением.

Параметры

array $eagerLoad

Возвращаемое значение

$this

Model getModel()

Получить экземпляр модели, к которой применяется запрос.

Возвращаемое значение

Model

$this setModel(Model $model)

Установить экземпляр модели для запроса.

Параметры

Model $model

Возвращаемое значение

$this

void macro(string $name, Closure $callback)

Расширить билдер с помощью указанной функции.

Параметры

string $name
Closure $callback

Возвращаемое значение

void

Closure getMacro(string $name)

Получить макрос по заданному имени.

Параметры

string $name

Возвращаемое значение

Closure

mixed __call(string $method, array $parameters)

Динамически обрабатывать вызовы в экземпляре запроса.

Параметры

string $method
array $parameters

Возвращаемое значение

mixed

void __clone()

Принудительно клонировать базовый билдер запроса при клонировании.

Возвращаемое значение

void

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.2/Illuminate/Database/Eloquent/Builder.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API