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