Builder
class Builder (View source)
Свойства
| protected Builder | $query | Базовый экземпляр билдера запросов. | |
| protected Model | $model | Модель, к которой выполняется запрос. | |
| protected array | $eagerLoad | Связи, которые должны быть загружены с нетерпением. | |
| protected array | $macros | Все зарегистрированные макросы билдера. | |
| protected Closure | $onDelete | Замена для типичной функции удаления. | |
| protected array | $passthru | Методы, которые должны возвращаться из билдера запросов. |
Методы
| void | __construct(Builder $query) Создать новый экземпляр Eloquent query builder. | |
| Модель|Коллекция|null | find(mixed $id, array $columns = ['*']) Найти модель по её первичному ключу. | |
| Коллекция | findMany(array $ids, array $columns = ['*']) Найти модель по её первичному ключу. | |
| Модель|Коллекция | findOrFail(mixed $id, array $columns = ['*']) Найти модель по её первичному ключу или выбросить исключение. | |
| Модель | findOrNew(mixed $id, array $columns = ['*']) Найти модель по её первичному ключу или вернуть новый экземпляр модели. | |
| Модель | firstOrNew(array $attributes) Получить первую запись, соответствующую атрибутам, или создать её. | |
| Модель | firstOrCreate(array $attributes) Получить первую запись, соответствующую атрибутам, или создать её. | |
| Модель | updateOrCreate(array $attributes, array $values = []) Создать или обновить запись, соответствующую атрибутам, и заполнить её значениями. | |
| Модель|Builder|null | first(array $columns = ['*']) Выполнить запрос и получить первый результат. | |
| Модель|Builder | firstOrFail(array $columns = ['*']) Выполнить запрос и получить первый результат или выбросить исключение. | |
| Коллекция|Builder[] | get(array $columns = ['*']) Выполнить запрос как операцию "select". | |
| mixed | value(string $column) Получить значение единственного столбца из первого результата запроса. | |
| mixed | pluck(string $column) deprecated Получить значение единственного столбца из первого результата запроса. | |
| bool | chunk(int $count, callable $callback) Разбить результаты запроса на куски. | |
| Коллекция | lists(string $column, string|null $key = null) Получить массив со значениями заданного столбца. | |
| 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 | 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) Зарегистрировать замену для стандартной функции удаления. | |
| Модель[] | getModels(array $columns = ['*']) Получить загруженные модели без жадной загрузки. | |
| array | eagerLoadRelations(array $models) Загрузить отношения для моделей. | |
| array | loadRelation(array $models, string $name, Closure $constraints) Жадно загрузить отношение для набора моделей. | |
| Отношение | getRelation(string $name) Получить экземпляр отношения для заданного имени отношения. | |
| array | nestedRelations(string $relation) Получить глубоко вложенные отношения для заданного отношения верхнего уровня. | |
| bool | isNested(string $name, string $relation) Определить, является ли отношение вложенным. | |
| $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) Добавить условие "or where" к запросу. | |
| 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 | addHasWhere(Builder $hasQuery, Relation $relation, string $operator, int $count, string $boolean) Добавить условие "has" к запросу. | |
| void | mergeWheresToHas(Builder $hasQuery, Relation $relation) Объединить условия "where" из запроса отношения в запрос has. | |
| Relation | getHasRelationQuery(string $relation) Получить экземпляр базового запроса "has relation". | |
| $this | with(mixed $relations) Установить отношения, которые должны быть загружены с жадной загрузкой. | |
| array | parseRelations(array $relations) Разбить список отношений на отдельные. | |
| array | parseNested(string $name, array $results) Обработать вложенные отношения в отношении. | |
| Builder | callScope(string $scope, array $parameters) Вызвать заданный модель scope на базовой модели. | |
| Builder|Builder | getQuery() Получить базовый экземпляр билдера запросов. | |
| $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.
Коллекция findMany(array $ids, array $columns = ['*'])
Найти модель по её первичному ключу.
Модель|Коллекция findOrFail(mixed $id, array $columns = ['*'])
Найти модель по её первичному ключу или выбросить исключение.
Модель findOrNew(mixed $id, array $columns = ['*'])
Найти модель по её первичному ключу или вернуть новый экземпляр модели.
Модель firstOrNew(array $attributes)
Получить первую запись, соответствующую атрибутам, или создать её.
Модель firstOrCreate(array $attributes)
Получить первую запись, соответствующую атрибутам, или создать её.
Модель updateOrCreate(array $attributes, array $values = [])
Создать или обновить запись, соответствующую атрибутам, и заполнить её значениями.
Модель|Билдер firstOrFail(array $columns = ['*'])
Выполнить запрос и получить первый результат или выбросить исключение.
mixed value(string $column)
Получить значение одного столбца из первого результата запроса.
mixed pluck(string $column) устаревшее
устаревшее
Получить значение одного столбца из первого результата запроса.
Это псевдоним для метода «value».
bool chunk(int $count, callable $callback)
Разбить результаты запроса на куски.
Коллекция lists(string $column, string|null $key = null)
Получить массив со значениями заданного столбца.
СтраничныйОбъектСоСтраницами paginate(int $perPage = null, array $columns = ['*'], string $pageName = 'page', int|null $page = null)
Разбить результаты запроса на страницы.
СтраничныйОбъект simplePaginate(int $perPage = null, array $columns = ['*'], string $pageName = 'page')
Разбить результаты запроса на страницы в виде простого страничного объекта.
int update(array $values)
Обновить запись в базе данных.
int increment(string $column, int $amount = 1, array $extra = [])
Увеличить значение столбца на заданное количество.
int decrement(string $column, int $amount = 1, array $extra = [])
Уменьшить значение столбца на заданное количество.
protected array addUpdatedAtColumn(array $values)
Добавить столбец "updated at" в массив значений.
mixed delete()
Удалить запись из базы данных.
mixed forceDelete()
Выполнить стандартную функцию удаления для билдера.
void onDelete(Closure $callback)
Зарегистрировать замену для стандартной функции удаления.
Модель[] getModels(array $columns = ['*'])
Получить загруженные модели без отложенной загрузки.
array eagerLoadRelations(array $models)
Загрузить отношения для моделей.
protected array loadRelation(array $models, string $name, Closure $constraints)
Загрузить отношение для набора моделей.
Отношение getRelation(string $name)
Получить экземпляр отношения по заданному имени.
protected array nestedRelations(string $relation)
Получить глубоко вложенные отношения для заданного верхнего уровня отношения.
protected bool isNested(string $name, string $relation)
Определить, является ли отношение вложенным.
$this where(string $column, string $operator = null, mixed $value = null, string $boolean = 'and')
Добавить базовое условие where к запросу.
Билдер|Билдер orWhere(string $column, string $operator = null, mixed $value = null)
Добавить условие "или где" к запросу.
Билдер|Билдер has(string $relation, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure $callback = null)
Добавить условие подсчета отношений к запросу.
protected Билдер|Билдер hasNested(string $relations, string $operator = '>=', int $count = 1, string $boolean = 'and', Closure|null $callback = null)
Добавить условия подсчета вложенных отношений к запросу.
Билдер|Билдер doesntHave(string $relation, string $boolean = 'and', Closure $callback = null)
Добавить условие подсчета отношений к запросу.
Билдер|Билдер whereHas(string $relation, Closure $callback, string $operator = '>=', int $count = 1)
Добавить условие подсчета отношений к запросу с условиями where.
Билдер|Билдер whereDoesntHave(string $relation, Closure $callback = null)
Добавить условие подсчета отношений к запросу с условиями where.
Builder|Builder orHas(string $relation, string $operator = '>=', int $count = 1)
Добавить условие подсчёта отношения к запросу с помощью "or".
Builder|Builder orWhereHas(string $relation, Closure $callback, string $operator = '>=', int $count = 1)
Добавить условие подсчёта отношения к запросу с условиями where и с помощью "or".
protected Builder addHasWhere(Builder $hasQuery, Relation $relation, string $operator, int $count, string $boolean)
Добавить условие "has" в where-запрос.
protected void mergeWheresToHas(Builder $hasQuery, Relation $relation)
Объединить "wheres" из запроса отношения в запрос has.
protected Relation getHasRelationQuery(string $relation)
Получить экземпляр базового запроса "has отношения".
$this with(mixed $relations)
Установить отношения, которые должны быть загружены с помощью eager loading.
protected array parseRelations(array $relations)
Разделить список отношений на отдельные элементы.
protected array parseNested(string $name, array $results)
Обработать вложенные отношения в отношении.
protected Builder callScope(string $scope, array $parameters)
Вызвать заданный scope модели на базовой модели.
$this setQuery(Builder $query)
Установить базовый экземпляр билдера запросов.
array getEagerLoads()
Получить отношения, загружаемые с помощью eager loading.
$this setEagerLoads(array $eagerLoad)
Установить отношения, загружаемые с помощью eager loading.
Model getModel()
Получить экземпляр модели, к которой происходит обращение.
$this setModel(Model $model)
Установить экземпляр модели для запроса.
void macro(string $name, Closure $callback)
Расширить билдер с помощью заданного callback.
Closure getMacro(string $name)
Получить заданный макрос по имени.
смешанный __call(строка $method, массив $parameters)
Динамически обрабатывает вызовы в экземпляр запроса.
пустое значение __clone()
Принудительно клонирует базовый билдер запроса при клонировании.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.1/Illuminate/Database/Eloquent/Builder.html