Builder
class Builder (View source)
Свойства
| static protected array | $macros | Зарегистрированные строковые макросы. | из Macroable |
| ConnectionInterface | $connection | Экземпляр подключения к базе данных. | |
| Grammar | $grammar | Экземпляр грамматики запросов базы данных. | |
| Processor | $processor | Экземпляр постпроцессора запросов базы данных. | |
| array | $bindings | Текущие значения связей запроса. | |
| array | $aggregate | Агрегатная функция и столбец для выполнения. | |
| array | $columns | Столбцы, которые должны быть возвращены. | |
| bool|array | $distinct | Указывает, возвращает ли запрос уникальные результаты. | |
| string | $from | Таблица, на которую нацелен запрос. | |
| array | $joins | Соединения таблиц для запроса. | |
| array | $wheres | Условие where для запроса. | |
| array | $groups | Группировки для запроса. | |
| array | $havings | Условие having для запроса. | |
| array | $orders | Сортировки для запроса. | |
| int | $limit | Максимальное количество записей для возврата. | |
| int | $offset | Количество записей для пропуска. | |
| array | $unions | Заявления объединения запроса. | |
| int | $unionLimit | Максимальное количество записей объединения для возврата. | |
| int | $unionOffset | Количество записей объединения для пропуска. | |
| array | $unionOrders | Сортировки для запроса объединения. | |
| string|bool | $lock | Указывает, используется ли блокировка строк. | |
| array | $operators | Все доступные операторы предложений. | |
| bool | $useWritePdo | Использовать ли write pdo для select. |
Traits
| BuildsQueries | |
| ForwardsCalls | |
| Macroable |
Methods
| bool | chunk(int $count, callable $callback) Разбить результаты запроса на части. | 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) Разбить результаты запроса на части по сравнение ID. | from BuildsQueries |
| bool | eachById(callable $callback, int $count = 1000, string|null $column = null, string|null $alias = null) Выполнить обратный вызов над каждым элементом, разбивая на части по ID. | from BuildsQueries |
| Model|object|BuildsQueries|null | first(array|string $columns = ['*']) Выполнить запрос и получить первый результат. | from BuildsQueries |
| mixed|$this | when(mixed $value, callable $callback, callable|null $default = null) Применить изменения запроса обратного вызова, если заданное "значение" истинно. | from BuildsQueries |
| $this | tap(callable $callback) Передать запрос заданному обратному вызову. | from BuildsQueries |
| mixed|$this | unless(mixed $value, callable $callback, callable|null $default = null) Применить изменения запроса обратного вызова, если заданное "значение" ложно. | 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 |
| mixed | forwardCallTo(mixed $object, string $method, array $parameters) Перенаправить вызов метода заданному объекту. | from ForwardsCalls |
| static void | throwBadMethodCallException(string $method) Выбросить исключение плохого вызова метода для заданного метода. | from ForwardsCalls |
| static void | macro(string $name, object|callable $macro) Зарегистрировать пользовательский макрос. | from Macroable |
| static void | mixin(object $mixin, bool $replace = true) Добавить другой объект в класс. | from Macroable |
| static bool | hasMacro(string $name) Проверяет, зарегистрирован ли макрос. | from Macroable |
| static mixed | __callStatic(string $method, array $parameters) Динамически обрабатывать вызовы класса. | from Macroable |
| mixed | __call(string $method, array $parameters) Обрабатывать динамические вызовы метода в метод. | |
| void | __construct(ConnectionInterface $connection, Grammar $grammar = null, Processor $processor = null) Создать новый экземпляр конструктора запроса. | |
| $this | select(array|mixed $columns = ['*']) Установить столбцы, которые должны быть выбраны. | |
| $this | selectSub(Closure|$this|string $query, string $as) Добавить выражение подзапроса в запрос. | |
| $this | selectRaw(string $expression, array $bindings = []) Добавить новое выражение "необработанного" выбора в запрос. | |
| $this | fromSub(Closure|Builder|string $query, string $as) Делает "из" выборку из подзапроса. | |
| $this | fromRaw(string $expression, mixed $bindings = []) Добавить "необработанное" из условия в запрос. | |
| array | createSub(Closure|Builder|string $query) Создает подзапрос и анализирует его. | |
| array | parseSub(mixed $query) Анализирует подзапрос в SQL и привязки. | |
| $this | addSelect(array|mixed $column) Добавить новый столбец выбора в запрос. | |
| $this | distinct() Принудительно заставить запрос возвращать только уникальные результаты. | |
| $this | from(Closure|Builder|string $table, string|null $as = null) Указать таблицу, на которую нацелен запрос. | |
| $this | join(string $table, Closure|string $first, string|null $operator = null, string|null $second = null, string $type = 'inner', bool $where = false) Добавить условие соединения в запрос. | |
| $this | joinWhere(string $table, Closure|string $first, string $operator, string $second, string $type = 'inner') Добавить условие "соединение где" в запрос. |
| $this | joinSub(Closure|Builder|string $query, string $as, Closure|string $first, string|null $operator = null, string|null $second = null, string $type = 'inner', bool $where = false)
Добавить к запросу условие присоединения подзапроса. | |
| $this | leftJoin(string $table, Closure|string $first, string|null $operator = null, string|null $second = null)
Добавить левое присоединение к запросу. | |
| $this | leftJoinWhere(string $table, Closure|string $first, string $operator, string $second)
Добавить условие «присоединение где» к запросу. | |
| $this | leftJoinSub(Closure|Builder|string $query, string $as, Closure|string $first, string|null $operator = null, string|null $second = null)
Добавить левое присоединение подзапроса к запросу. | |
| $this | rightJoin(string $table, Closure|string $first, string|null $operator = null, string|null $second = null)
Добавить правое присоединение к запросу. | |
| $this | rightJoinWhere(string $table, Closure|string $first, string $operator, string $second)
Добавить условие «правое присоединение где» к запросу. | |
| $this | rightJoinSub(Closure|Builder|string $query, string $as, Closure|string $first, string|null $operator = null, string|null $second = null)
Добавить правое присоединение подзапроса к запросу. | |
| $this | crossJoin(string $table, Closure|string|null $first = null, string|null $operator = null, string|null $second = null)
Добавить условие «внешнее присоединение» к запросу. | |
| JoinClause | newJoinClause(Builder $parentQuery, string $type, string $table)
Получить новое условие присоединения. | |
| void | mergeWheres(array $wheres, array $bindings)
Объединить массив условий where и связывающие элементы. | |
| $this | where(Closure|string|array $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Добавить базовое условие where к запросу. | |
| $this | addArrayOfWheres(array $column, string $boolean, string $method = 'where')
Добавить массив условий where к запросу. | |
| array | prepareValueAndOperator(string $value, string $operator, bool $useDefault = false)
Подготовить значение и оператор для условия where. | |
| bool | invalidOperatorAndValue(string $operator, mixed $value)
Определить, является ли данная комбинация оператора и значения законной. | |
| bool | invalidOperator(string $operator)
Определить, поддерживается ли данный оператор. | |
| $this | orWhere(Closure|string|array $column, mixed $operator = null, mixed $value = null)
Добавить условие «или где» к запросу. | |
| $this | whereColumn(string|array $first, string|null $operator = null, string|null $second = null, string|null $boolean = 'and')
Добавить условие «где» для сравнения двух столбцов к запросу. | |
| $this | orWhereColumn(string|array $first, string|null $operator = null, string|null $second = null)
Добавить условие «или где» для сравнения двух столбцов к запросу. | |
| $this | whereRaw(string $sql, mixed $bindings = [], string $boolean = 'and')
Добавить сырое условие where к запросу. | |
| $this | orWhereRaw(string $sql, mixed $bindings = [])
Добавить сырое условие «или где» к запросу. | |
| $this | whereIn(string $column, mixed $values, string $boolean = 'and', bool $not = false)
Добавить условие «где в» к запросу. | |
| $this | orWhereIn(string $column, mixed $values)
Добавить условие «или где в» к запросу. | |
| $this | whereNotIn(string $column, mixed $values, string $boolean = 'and')
Добавить условие «где не в» к запросу. | |
| $this | orWhereNotIn(string $column, mixed $values)
Добавить условие «или где не в» к запросу. | |
| $this | whereIntegerInRaw(string $column, Arrayable|array $values, string $boolean = 'and', bool $not = false)
Добавить условие «где в (сырое)» для целочисленных значений к запросу. | |
| $this | orWhereIntegerInRaw(string $column, Arrayable|array $values)
Добавить условие «или где в (сырое)» для целочисленных значений к запросу. | |
| $this | whereIntegerNotInRaw(string $column, Arrayable|array $values, string $boolean = 'and')
Добавить условие «где не в (сырое)» для целочисленных значений к запросу. | |
| $this | orWhereIntegerNotInRaw(string $column, Arrayable|array $values)
Добавить условие «или где не в (сырое)» для целочисленных значений к запросу. | |
| $this | whereNull(string|array $columns, string $boolean = 'and', bool $not = false)
Добавить условие «где null» к запросу. | |
| $this | orWhereNull(string $column)
Добавить условие «или где null» к запросу. | |
| $this | whereNotNull(string|array $columns, string $boolean = 'and')
Добавить условие «где не null» к запросу. | |
| $this | whereBetween(string $column, array $values, string $boolean = 'and', bool $not = false)
Добавить условие «где между» к запросу. | |
| $this | whereBetweenColumns(string $column, array $values, string $boolean = 'and', bool $not = false)
Добавить условие «где между» используя столбцы к запросу. | |
| $this | orWhereBetween(string $column, array $values)
Добавить условие «или где между» к запросу. | |
| $this | orWhereBetweenColumns(string $column, array $values)
Добавить условие «или где между» используя столбцы к запросу. |
| $this | whereNotBetween(string $column, array $values, string $boolean = 'and')
Добавить условие «не между» к запросу. | |
| $this | whereNotBetweenColumns(string $column, array $values, string $boolean = 'and')
Добавить условие «не между» к запросу, используя столбцы. | |
| $this | orWhereNotBetween(string $column, array $values)
Добавить условие «или не между» к запросу. | |
| $this | orWhereNotBetweenColumns(string $column, array $values)
Добавить условие «или не между» к запросу, используя столбцы. | |
| $this | orWhereNotNull(string $column)
Добавить условие «или не равно null» к запросу. | |
| $this | whereDate(string $column, string $operator, DateTimeInterface|string|null $value = null, string $boolean = 'and')
Добавить условие «где дата» к запросу. | |
| $this | orWhereDate(string $column, string $operator, DateTimeInterface|string|null $value = null)
Добавить условие «или где дата» к запросу. | |
| $this | whereTime(string $column, string $operator, DateTimeInterface|string|null $value = null, string $boolean = 'and')
Добавить условие «где время» к запросу. | |
| $this | orWhereTime(string $column, string $operator, DateTimeInterface|string|null $value = null)
Добавить условие «или где время» к запросу. | |
| $this | whereDay(string $column, string $operator, DateTimeInterface|string|null $value = null, string $boolean = 'and')
Добавить условие «где день» к запросу. | |
| $this | orWhereDay(string $column, string $operator, DateTimeInterface|string|null $value = null)
Добавить условие «или где день» к запросу. | |
| $this | whereMonth(string $column, string $operator, DateTimeInterface|string|null $value = null, string $boolean = 'and')
Добавить условие «где месяц» к запросу. | |
| $this | orWhereMonth(string $column, string $operator, DateTimeInterface|string|null $value = null)
Добавить условие «или где месяц» к запросу. | |
| $this | whereYear(string $column, string $operator, DateTimeInterface|string|int|null $value = null, string $boolean = 'and')
Добавить условие «где год» к запросу. | |
| $this | orWhereYear(string $column, string $operator, DateTimeInterface|string|int|null $value = null)
Добавить условие «или где год» к запросу. | |
| $this | addDateBasedWhere(string $type, string $column, string $operator, mixed $value, string $boolean = 'and')
Добавить условие, основанное на дате (год, месяц, день, время), к запросу. | |
| $this | whereNested(Closure $callback, string $boolean = 'and')
Добавить вложенное условие «где» к запросу. | |
| Builder | forNestedWhere()
Создать новый экземпляр запроса для вложенного условия. | |
| $this | addNestedWhereQuery(Builder $query, string $boolean = 'and')
Добавить другой билдер запросов как вложенное условие к билдеру запросов. | |
| $this | whereSub(string $column, string $operator, Closure $callback, string $boolean)
Добавить полную подзапрос к запросу. | |
| $this | whereExists(Closure $callback, string $boolean = 'and', bool $not = false)
Добавить условие «существует» к запросу. | |
| $this | orWhereExists(Closure $callback, bool $not = false)
Добавить условие «или существует» к запросу. | |
| $this | whereNotExists(Closure $callback, string $boolean = 'and')
Добавить условие «не существует» к запросу. | |
| $this | orWhereNotExists(Closure $callback)
Добавить условие «или не существует» к запросу. | |
| $this | addWhereExistsQuery(Builder $query, string $boolean = 'and', bool $not = false)
Добавить условие «существует» к запросу. | |
| $this | whereRowValues(array $columns, string $operator, array $values, string $boolean = 'and')
Добавляет условие, используя значения строк. | |
| $this | orWhereRowValues(array $columns, string $operator, array $values)
Добавляет условие «или», используя значения строк. | |
| $this | whereJsonContains(string $column, mixed $value, string $boolean = 'and', bool $not = false)
Добавить условие «где JSON содержит» к запросу. | |
| $this | orWhereJsonContains(string $column, mixed $value)
Добавить условие «или где JSON содержит» к запросу. | |
| $this | whereJsonDoesntContain(string $column, mixed $value, string $boolean = 'and')
Добавить условие «где JSON не содержит» к запросу. | |
| $this | orWhereJsonDoesntContain(string $column, mixed $value)
Добавить условие «или где JSON не содержит» к запросу. | |
| $this | whereJsonLength(string $column, mixed $operator, mixed $value = null, string $boolean = 'and')
Добавить условие «где длина JSON» к запросу. | |
| $this | orWhereJsonLength(string $column, mixed $operator, mixed $value = null)
Добавить условие «или где длина JSON» к запросу. | |
| $this | dynamicWhere(string $method, array $parameters)
Обрабатывает динамические условия «где» для запроса. | |
| void | addDynamic(string $segment, string $connector, array $parameters, int $index)
Добавить отдельное динамическое условие «где» в запрос. | |
| $this | groupBy(array|string ...$groups)
Добавить условие «группировать по» к запросу. |
| $this | groupByRaw(string $sql, array $bindings = [])
Добавить в запрос условие группировки по заданному SQL-выражению. | |
| $this | having(string $column, string|null $operator = null, string|null $value = null, string $boolean = 'and')
Добавить в запрос условие "having". | |
| $this | orHaving(string $column, string|null $operator = null, string|null $value = null)
Добавить в запрос условие "or having". | |
| $this | havingBetween(string $column, array $values, string $boolean = 'and', bool $not = false)
Добавить в запрос условие "having between". | |
| $this | havingRaw(string $sql, array $bindings = [], string $boolean = 'and')
Добавить в запрос сырое условие "having". | |
| $this | orHavingRaw(string $sql, array $bindings = [])
Добавить в запрос сырое условие "or having". | |
| $this | orderBy(Closure|Builder|Expression|string $column, string $direction = 'asc')
Добавить в запрос условие сортировки. | |
| $this | orderByDesc(string $column)
Добавить в запрос условие сортировки по убыванию. | |
| $this | latest(string $column = 'created_at')
Добавить условие сортировки по времени (по убыванию). | |
| $this | oldest(string $column = 'created_at')
Добавить условие сортировки по времени (по возрастанию). | |
| $this | inRandomOrder(string $seed = '')
Отсортировать результаты запроса в случайном порядке. | |
| $this | orderByRaw(string $sql, array $bindings = [])
Добавить сырое условие сортировки в запрос. | |
| $this | skip(int $value)
Псевдоним для задания параметра "смещение" в запросе. | |
| $this | offset(int $value)
Установить параметр "смещение" в запросе. | |
| $this | take(int $value)
Псевдоним для задания параметра "ограничение" в запросе. | |
| $this | limit(int $value)
Установить параметр "ограничение" в запросе. | |
| $this | forPage(int $page, int $perPage = 15)
Установить параметры ограничения и смещения для заданной страницы. | |
| $this | forPageBeforeId(int $perPage = 15, int|null $lastId = 0, string $column = 'id')
Ограничить запрос предыдущей "страницей" результатов перед заданным ID. | |
| $this | forPageAfterId(int $perPage = 15, int|null $lastId = 0, string $column = 'id')
Ограничить запрос следующей "страницей" результатов после заданного ID. | |
| $this | reorder(string|null $column = null, string $direction = 'asc')
Удалить все существующие условия сортировки и, опционально, добавить новое. | |
| array | removeExistingOrdersFor(string $column)
Получить массив со всеми удалёнными условиями сортировки по заданному столбцу. | |
| $this | union(Builder|Closure $query, bool $all = false)
Добавить в запрос оператор объединения (UNION). | |
| $this | unionAll(Builder|Closure $query)
Добавить в запрос оператор объединения (UNION ALL). | |
| $this | lock(string|bool $value = true)
Заблокировать выбранные строки в таблице. | |
| Builder | lockForUpdate()
Заблокировать выбранные строки в таблице для обновления. | |
| Builder | sharedLock()
Заблокировать выбранные строки в таблице для совместного доступа. | |
| string | toSql()
Получить строковое представление запроса SQL. | |
| mixed|Builder | find(int|string $id, array $columns = ['*'])
Выполнить запрос для получения одной записи по ID. | |
| mixed | value(string $column)
Получить значение из первого результата запроса для заданного столбца. | |
| Collection | get(array|string $columns = ['*'])
Выполнить запрос в виде "select". | |
| array | runSelect()
Выполнить запрос в виде "select" против подключения. | |
| LengthAwarePaginator | paginate(int $perPage = 15, array $columns = ['*'], string $pageName = 'page', int|null $page = null)
Разбить запрос на страницы с помощью пагинатора. | |
| Paginator | simplePaginate(int $perPage = 15, array $columns = ['*'], string $pageName = 'page', int|null $page = null)
Получить пагинатор, поддерживающий только простые ссылки "следующая" и "предыдущая". | |
| int | getCountForPagination(array $columns = ['*'])
Получить количество записей для пагинатора. | |
| array | runPaginationCountQuery(array $columns = ['*'])
Выполнить запрос подсчета для пагинации. | |
| Builder | cloneForPaginationCount()
Создать клон текущего объекта запроса для использования в подзапросе пагинации. | |
| array | withoutSelectAliases(array $columns)
Удалить алиасы столбцов, так как они могут нарушить запросы подсчета. | |
| LazyCollection | cursor()
Получить ленивую коллекцию для данного запроса. | |
| void | enforceOrderBy()
Выбросить исключение, если в запросе нет условия сортировки. | |
| Collection | pluck(string $column, string|null $key = null)
Получить массив со значениями из заданного столбца. | |
| string|null | stripTableForPluck(string $column)
Удалить имя таблицы или алиас из идентификатора столбца. | |
| Collection | pluckFromObjectColumn(array $queryResult, string $column, string $key)
Получить значения столбцов из строк, представленных как объекты. |
| Collection | pluckFromArrayColumn(array $queryResult, string $column, string $key)
Извлечь значения столбца из строк, представленных в виде массивов. | |
| string | implode(string $column, string $glue = '')
Конкатенировать значения заданного столбца в строку. | |
| bool | exists()
Определить, существуют ли какие-либо строки для текущего запроса. | |
| bool | doesntExist()
Определить, не существует ли строк для текущего запроса. | |
| mixed | existsOr(Closure $callback)
Выполнить заданный обратный вызов, если для текущего запроса не существует строк. | |
| mixed | doesntExistOr(Closure $callback)
Выполнить заданный обратный вызов, если для текущего запроса существуют строки. | |
| int | count(string $columns = '*')
Получить результат «подсчёта» запроса. | |
| mixed | min(string $column)
Получить минимальное значение заданного столбца. | |
| mixed | max(string $column)
Получить максимальное значение заданного столбца. | |
| mixed | sum(string $column)
Получить сумму значений заданного столбца. | |
| mixed | avg(string $column)
Получить среднее значение значений заданного столбца. | |
| mixed | average(string $column)
Псевдоним для метода «avg». | |
| mixed | aggregate(string $function, array $columns = ['*'])
Выполнить агрегатную функцию на базе данных. | |
| float|int | numericAggregate(string $function, array $columns = ['*'])
Выполнить числовую агрегатную функцию на базе данных. | |
| $this | setAggregate(string $function, array $columns)
Установить свойство агрегации без выполнения запроса. | |
| mixed | onceWithColumns(array $columns, callable $callback)
Выполнить заданный обратный вызов, выбирая заданные столбцы. | |
| bool | insert(array $values)
Вставить новую запись в базу данных. | |
| int | insertOrIgnore(array $values)
Вставить новую запись в базу данных, игнорируя ошибки. | |
| int | insertGetId(array $values, string|null $sequence = null)
Вставить новую запись и получить значение первичного ключа. | |
| int | insertUsing(array $columns, Closure|Builder|string $query)
Вставить новые записи в таблицу с помощью подзапроса. | |
| int | update(array $values)
Обновить запись в базе данных. | |
| bool | updateOrInsert(array $attributes, array $values = [])
Вставить или обновить запись, соответствующую атрибутам, и заполнить её значениями. | |
| int | increment(string $column, float|int $amount = 1, array $extra = [])
Увеличить значение столбца на заданное количество. | |
| int | decrement(string $column, float|int $amount = 1, array $extra = [])
Уменьшить значение столбца на заданное количество. | |
| int | delete(mixed $id = null)
Удалить запись из базы данных. | |
| void | truncate()
Выполнить операцию удаления всех данных из таблицы. | |
| Builder | newQuery()
Получить новую инстанцию билдера запросов. | |
| Builder | forSubQuery()
Создать новую инстанцию запроса для подзапроса. | |
| Expression | raw(mixed $value)
Создать выражение базы данных в сыром виде. | |
| array | getBindings()
Получить текущие значения связываемых переменных запроса в плоском массиве. | |
| array | getRawBindings()
Получить сырой массив связываемых переменных. | |
| $this | setBindings(array $bindings, string $type = 'where')
Установить значения связываемых переменных для билдера запросов. | |
| $this | addBinding(mixed $value, string $type = 'where')
Добавить связываемую переменную к запросу. | |
| $this | mergeBindings(Builder $query)
Объединить массив связываемых переменных в наш массив. | |
| array | cleanBindings(array $bindings)
Удалить все выражения из списка связываемых переменных. | |
| mixed | flattenValue(mixed $value)
Получить скалярное значение типа из входных данных неизвестного типа. | |
| string | defaultKeyName()
Получить имя по умолчанию для ключа таблицы. | |
| ConnectionInterface | getConnection()
Получить экземпляр подключения к базе данных. | |
| Processor | getProcessor()
Получить экземпляр обработчика запросов базы данных. | |
| Grammar | getGrammar()
Получить экземпляр грамматики запросов. | |
| $this | useWritePdo()
Использовать write pdo для запроса. | |
| bool | isQueryable(mixed $value)
Определить, является ли значение экземпляром билдера запросов или замыканием. | |
| Builder | cloneWithout(array $properties)
Создать клон запроса без указанных свойств. | |
| Builder | cloneWithoutBindings(array $except)
Создать клон запроса без указанных связываемых переменных. | |
| $this | dump()
Вывести текущий SQL и связываемые переменные. | |
| void | dd()
Прервать выполнение и вывести текущий SQL и связываемые переменные. |
Подробности
bool chunk(int $count, callable $callback)
Разбить результаты запроса на части.
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)
Выполнить обратный вызов для каждого элемента, разбивая на части по идентификатору.
Model|object|BuildsQueries|null first(array|string $columns = ['*'])
Выполнить запрос и получить первый результат.
mixed|$this when(mixed $value, callable $callback, callable|null $default = null)
Применить изменения запроса обратного вызова, если заданное "значение" истинно.
$this tap(callable $callback)
Передать запрос в указанный обратный вызов.
mixed|$this unless(mixed $value, callable $callback, callable|null $default = null)
Применить изменения запроса обратного вызова, если заданное "значение" ложно.
protected LengthAwarePaginator paginator(Collection $items, int $total, int $perPage, int $currentPage, array $options)
Создать новый экземпляр Length-Aware пагинатора.
protected Paginator simplePaginator(Collection $items, int $perPage, int $currentPage, array $options)
Создать новый экземпляр простого пагинатора.
protected mixed forwardCallTo(mixed $object, string $method, array $parameters)
Перенаправить вызов метода заданному объекту.
static protected void throwBadMethodCallException(string $method)
Выбросить исключение BadMethodCall для данного метода.
static void macro(string $name, object|callable $macro)
Зарегистрировать пользовательское макро.
static void mixin(object $mixin, bool $replace = true)
Добавить другой объект в класс.
static bool hasMacro(string $name)
Проверяет, зарегистрировано ли макро.
static mixed __callStatic(string $method, array $parameters)
Динамически обрабатывает вызовы к классу.
смешанный __call(string $method, array $parameters)
Обработка динамических вызовов метода.
пустое значение __construct(ConnectionInterface $connection, Grammar $grammar = null, Processor $processor = null)
Создать новый экземпляр билдера запроса.
$this select(array|mixed $columns = ['*'])
Установить столбцы для выбора.
$this selectSub(Closure|$this|string $query, string $as)
Добавить выражение подзапроса в запрос.
$this selectRaw(string $expression, array $bindings = [])
Добавить новое выражение "raw" выбора в запрос.
$this fromRaw(string $expression, mixed $bindings = [])
Добавить к запросу условие from с сырым выражением.
protected массив parseSub(mixed $query)
Анализирует подзапрос, преобразуя его в SQL и связи.
$this addSelect(array|mixed $column)
Добавить новый столбец выбора в запрос.
$this distinct()
Вынудительно возвращать только уникальные результаты.
$this from(Closure|Builder|string $table, string|null $as = null)
Установить таблицу, на которую нацелен запрос.
$this join(string $table, Closure|string $first, string|null $operator = null, string|null $second = null, string $type = 'inner', bool $where = false)
Добавить условие соединения к запросу.
$this joinWhere(string $table, Closure|string $first, string $operator, string $second, string $type = 'inner')
Добавить условие "join where" к запросу.
$this joinSub(Closure|Builder|string $query, string $as, Closure|string $first, string|null $operator = null, string|null $second = null, string $type = 'inner', bool $where = false)
Добавить условие присоединения подзапроса к запросу.
$this leftJoin(string $table, Closure|string $first, string|null $operator = null, string|null $second = null)
Добавить левое присоединение к запросу.
$this leftJoinWhere(string $table, Closure|string $first, string $operator, string $second)
Добавить условие «присоединиться, где» к запросу.
$this leftJoinSub(Closure|Builder|string $query, string $as, Closure|string $first, string|null $operator = null, string|null $second = null)
Добавить левое присоединение подзапроса к запросу.
$this rightJoin(string $table, Closure|string $first, string|null $operator = null, string|null $second = null)
Добавить правое присоединение к запросу.
$this rightJoinWhere(string $table, Closure|string $first, string $operator, string $second)
Добавить условие «правое присоединение, где» к запросу.
$this rightJoinSub(Closure|Builder|string $query, string $as, Closure|string $first, string|null $operator = null, string|null $second = null)
Добавить подзапрос правого присоединения к запросу.
$this crossJoin(string $table, Closure|string|null $first = null, string|null $operator = null, string|null $second = null)
Добавить условие «внешнее объединение» к запросу.
protected JoinClause newJoinClause(Builder $parentQuery, string $type, string $table)
Получить новую фразу присоединения.
void mergeWheres(array $wheres, array $bindings)
Объединить массив условий where и связанных значений.
$this where(Closure|string|array $column, mixed $operator = null, mixed $value = null, string $boolean = 'and')
Добавить базовое условие where к запросу.
protected $this addArrayOfWheres(array $column, string $boolean, string $method = 'where')
Добавить массив условий where к запросу.
массив prepareValueAndOperator(string $value, string $operator, bool $useDefault = false)
Подготовить значение и оператор для условия where.
protected логическое invalidOperatorAndValue(string $operator, mixed $value)
Определить, является ли данная комбинация оператора и значения законной.
Предотвращает использование значений Null с недопустимыми операторами.
protected логическое invalidOperator(string $operator)
Определить, поддерживается ли данный оператор.
$this orWhere(Closure|string|array $column, mixed $operator = null, mixed $value = null)
Добавить условие "или где" к запросу.
$this whereColumn(string|array $first, string|null $operator = null, string|null $second = null, string|null $boolean = 'and')
Добавить условие "где" сравнивая две колонки к запросу.
$this orWhereColumn(string|array $first, string|null $operator = null, string|null $second = null)
Добавить условие "или где" сравнивая две колонки к запросу.
$this whereRaw(string $sql, mixed $bindings = [], string $boolean = 'and')
Добавить сырое условие "где" к запросу.
$this orWhereRaw(string $sql, mixed $bindings = [])
Добавить сырое условие "или где" к запросу.
$this whereIn(string $column, mixed $values, string $boolean = 'and', bool $not = false)
Добавить условие "внутри" к запросу.
$this orWhereIn(string $column, mixed $values)
Добавить условие "или внутри" к запросу.
$this whereNotIn(string $column, mixed $values, string $boolean = 'and')
Добавить условие "не внутри" к запросу.
$this orWhereNotIn(string $column, mixed $values)
Добавить условие "или не внутри" к запросу.
$this whereIntegerInRaw(string $column, Arrayable|array $values, string $boolean = 'and', bool $not = false)
Добавить условие "внутри" для целочисленных значений к запросу.
$this orWhereIntegerInRaw(string $column, Arrayable|array $values)
Добавить условие "или внутри" для целочисленных значений к запросу.
$this whereIntegerNotInRaw(string $column, Arrayable|array $values, string $boolean = 'and')
Добавить условие "не внутри" для целочисленных значений к запросу.
$this orWhereIntegerNotInRaw(string $column, Arrayable|array $values)
Добавить условие "или не внутри" для целочисленных значений к запросу.
$this whereNull(string|array $columns, string $boolean = 'and', bool $not = false)
Добавить условие "где пусто" к запросу.
$this orWhereNull(string $column)
Добавить условие "или где пусто" к запросу.
$this whereNotNull(string|array $columns, string $boolean = 'and')
Добавить условие "где не пусто" к запросу.
$this whereBetween(string $column, array $values, string $boolean = 'and', bool $not = false)
Добавить условие "между" к запросу.
$this whereBetweenColumns(string $column, array $values, string $boolean = 'and', bool $not = false)
Добавить условие "между" используя столбцы к запросу.
$this orWhereBetween(string $column, array $values)
Добавить условие "или между" к запросу.
$this orWhereBetweenColumns(string $column, array $values)
Добавить условие "или между" используя столбцы к запросу.
$this whereNotBetween(string $column, array $values, string $boolean = 'and')
Добавить условие "не между" к запросу.
$this whereNotBetweenColumns(string $column, array $values, string $boolean = 'and')
Добавить условие "не между" используя столбцы к запросу.
$this orWhereNotBetween(string $column, array $values)
Добавить условие "или не между" к запросу.
$this orWhereNotBetweenColumns(string $column, array $values)
Добавить условие "или не между" используя столбцы к запросу.
$this orWhereNotNull(string $column)
Добавить условие "или где не пусто" к запросу.
$this whereDate(string $column, string $operator, DateTimeInterface|string|null $value = null, string $boolean = 'and')
Добавить условие "где дата" к запросу.
$this orWhereDate(string $column, string $operator, DateTimeInterface|string|null $value = null)
Добавить условие "или где дата" к запросу.
$this whereTime(string $column, string $operator, DateTimeInterface|string|null $value = null, string $boolean = 'and')
Добавить условие "где время" к запросу.
$this orWhereTime(string $column, string $operator, DateTimeInterface|string|null $value = null)
Добавить условие "или где время" к запросу.
$this whereDay(string $column, string $operator, DateTimeInterface|string|null $value = null, string $boolean = 'and')
Добавить условие "where day" в запрос.
$this orWhereDay(string $column, string $operator, DateTimeInterface|string|null $value = null)
Добавить условие "or where day" в запрос.
$this whereMonth(string $column, string $operator, DateTimeInterface|string|null $value = null, string $boolean = 'and')
Добавить условие "where month" в запрос.
$this orWhereMonth(string $column, string $operator, DateTimeInterface|string|null $value = null)
Добавить условие "or where month" в запрос.
$this whereYear(string $column, string $operator, DateTimeInterface|string|int|null $value = null, string $boolean = 'and')
Добавить условие "where year" в запрос.
$this orWhereYear(string $column, string $operator, DateTimeInterface|string|int|null $value = null)
Добавить условие "or where year" в запрос.
protected $this addDateBasedWhere(string $type, string $column, string $operator, mixed $value, string $boolean = 'and')
Добавить условие, основанное на дате (год, месяц, день, время), в запрос.
$this whereNested(Closure $callback, string $boolean = 'and')
Добавить вложенное условие "where" в запрос.
Builder forNestedWhere()
Создать новый экземпляр запроса для вложенного условия.
$this addNestedWhereQuery(Builder $query, string $boolean = 'and')
Добавить другой билдер запроса как вложенное условие "where" к билдеру запроса.
protected $this whereSub(string $column, string $operator, Closure $callback, string $boolean)
Добавить полный подзапрос в запрос.
$this whereExists(Closure $callback, string $boolean = 'and', bool $not = false)
Добавить условие exists к запросу.
$this orWhereExists(Closure $callback, bool $not = false)
Добавить условие or exists к запросу.
$this whereNotExists(Closure $callback, string $boolean = 'and')
Добавить условие where not exists к запросу.
$this orWhereNotExists(Closure $callback)
Добавить условие where not exists к запросу.
$this addWhereExistsQuery(Builder $query, string $boolean = 'and', bool $not = false)
Добавить условие exists к запросу.
$this whereRowValues(array $columns, string $operator, array $values, string $boolean = 'and')
Добавляет условие where, используя значения строк.
$this orWhereRowValues(array $columns, string $operator, array $values)
Добавляет условие or where, используя значения строк.
$this whereJsonContains(string $column, mixed $value, string $boolean = 'and', bool $not = false)
Добавить условие "where JSON содержит" к запросу.
$this orWhereJsonContains(string $column, mixed $value)
Добавить условие "or where JSON содержит" к запросу.
$this whereJsonDoesntContain(string $column, mixed $value, string $boolean = 'and')
Добавить условие "where JSON не содержит" к запросу.
$this orWhereJsonDoesntContain(string $column, mixed $value)
Добавить условие "or where JSON не содержит" к запросу.
$this whereJsonLength(string $column, mixed $operator, mixed $value = null, string $boolean = 'and')
Добавить условие "where длина JSON" к запросу.
$this orWhereJsonLength(string $column, mixed $operator, mixed $value = null)
Добавить условие "or where длина JSON" к запросу.
$this dynamicWhere(string $method, array $parameters)
Обрабатывает динамические условия "where" в запросе.
protected void addDynamic(string $segment, string $connector, array $parameters, int $index)
Добавить отдельное динамическое условие where к запросу.
$this groupBy(array|string ...$groups)
Добавить условие "group by" к запросу.
$this groupByRaw(string $sql, array $bindings = [])
Добавить условие groupBy в сыром виде к запросу.
$this having(string $column, string|null $operator = null, string|null $value = null, string $boolean = 'and')
Добавить условие "having" к запросу.
$this orHaving(string $column, string|null $operator = null, string|null $value = null)
Добавить условие "or having" к запросу.
$this havingBetween(string $column, array $values, string $boolean = 'and', bool $not = false)
Добавить условие "having between" к запросу.
$this havingRaw(string $sql, array $bindings = [], string $boolean = 'and')
Добавить условие having в запросе.
$this orHavingRaw(string $sql, array $bindings = [])
Добавить условие or having в запросе.
$this orderBy(Closure|Builder|Expression|string $column, string $direction = 'asc')
Добавить условие "order by" в запрос.
$this orderByDesc(string $column)
Добавить условие "order by" по убыванию в запрос.
$this latest(string $column = 'created_at')
Добавить условие сортировки по полю времени в запрос.
$this oldest(string $column = 'created_at')
Добавить условие сортировки по полю времени в запрос.
$this inRandomOrder(string $seed = '')
Сортировать результаты запроса случайным образом.
$this orderByRaw(string $sql, array $bindings = [])
Добавить сырое условие "order by" в запрос.
$this skip(int $value)
Псевдоним для установки значения "offset" запроса.
$this offset(int $value)
Установить значение "offset" запроса.
$this take(int $value)
Псевдоним для установки значения "limit" запроса.
$this limit(int $value)
Установить значение "limit" запроса.
$this forPage(int $page, int $perPage = 15)
Установить limit и offset для заданной страницы.
$this forPageBeforeId(int $perPage = 15, int|null $lastId = 0, string $column = 'id')
Ограничить запрос предыдущей "страницей" результатов перед заданным ID.
$this forPageAfterId(int $perPage = 15, int|null $lastId = 0, string $column = 'id')
Ограничить запрос следующей "страницей" результатов после заданного ID.
$this reorder(string|null $column = null, string $direction = 'asc')
Удалить все существующие сортировки и, необязательно, добавить новую.
protected array removeExistingOrdersFor(string $column)
Получить массив со всеми удалёнными сортировками по заданному столбцу.
$this lock(string|bool $value = true)
Заблокировать выбранные строки в таблице.
Builder lockForUpdate()
Заблокировать выбранные строки в таблице для обновления.
Builder sharedLock()
Заблокировать выбранные строки в таблице для совместного доступа.
string toSql()
Получить SQL-представление запроса.
mixed|Builder find(int|string $id, array $columns = ['*'])
Выполнить запрос для получения одной записи по идентификатору.
mixed value(string $column)
Получить значение одного столбца из первой строки результата запроса.
Collection get(array|string $columns = ['*'])
Выполнить запрос в качестве оператора «select».
protected array runSelect()
Выполнить запрос в качестве оператора «select» на подключении.
LengthAwarePaginator paginate(int $perPage = 15, array $columns = ['*'], string $pageName = 'page', int|null $page = null)
Разбить результаты заданного запроса на страницы с помощью пагинатора.
Paginator simplePaginate(int $perPage = 15, array $columns = ['*'], string $pageName = 'page', int|null $page = null)
Получить пагинатор, поддерживающий только простые ссылки «следующая» и «предыдущая».
Это более эффективно для больших наборов данных и т. д.
int getCountForPagination(array $columns = ['*'])
Получить количество всех записей для пагинации.
protected array runPaginationCountQuery(array $columns = ['*'])
Выполнить запрос подсчета для пагинации.
protected Builder cloneForPaginationCount()
Клонировать существующий экземпляр запроса для использования в подзапросе пагинации.
protected array withoutSelectAliases(array $columns)
Удалить псевдонимы столбцов, так как они нарушают запросы подсчета.
LazyCollection cursor()
Получить ленивую коллекцию для заданного запроса.
protected void enforceOrderBy()
Вызвать исключение, если в запросе отсутствует фраза orderBy.
Collection pluck(string $column, string|null $key = null)
Получить массив со значениями заданного столбца.
protected string|null stripTableForPluck(string $column)
Удалить имя или псевдоним таблицы из идентификатора столбца.
protected Collection pluckFromObjectColumn(array $queryResult, string $column, string $key)
Получить значения столбцов из строк, представленных объектами.
protected Коллекция pluckFromArrayColumn(array $queryResult, string $column, string $key)
Извлечь значения столбцов из строк, представленных в виде массивов.
строка implode(string $column, string $glue = '')
Объединить значения заданного столбца в строку.
логическое значение exists()
Определить, существуют ли строки для текущего запроса.
логическое значение doesntExist()
Определить, не существуют ли строки для текущего запроса.
смешанный тип existsOr(Closure $callback)
Выполнить заданный обратный вызов, если строки для текущего запроса не существуют.
смешанный тип doesntExistOr(Closure $callback)
Выполнить заданный обратный вызов, если строки для текущего запроса существуют.
целое число count(string $columns = '*')
Получить результат "count" запроса.
смешанный тип min(string $column)
Получить минимальное значение заданного столбца.
смешанный тип max(string $column)
Получить максимальное значение заданного столбца.
смешанный тип sum(string $column)
Получить сумму значений заданного столбца.
смешанный тип avg(string $column)
Получить среднее значение значений заданного столбца.
смешанный тип average(string $column)
Псевдоним метода "avg".
смешанный тип aggregate(string $function, array $columns = ['*'])
Выполнить агрегатную функцию в базе данных.
float|int numericAggregate(string $function, array $columns = ['*'])
Выполнить числовую агрегатную функцию в базе данных.
protected $this setAggregate(string $function, array $columns)
Установить свойство агрегата без выполнения запроса.
protected смешанный тип onceWithColumns(array $columns, callable $callback)
Выполнить заданный обратный вызов, выбирая заданные столбцы.
После выполнения обратного вызова столбцы сбрасываются до исходного значения.
логическое значение insert(array $values)
Вставить новую запись в базу данных.
целое число insertOrIgnore(array $values)
Вставить новую запись в базу данных, игнорируя ошибки.
целое число insertGetId(array $values, string|null $sequence = null)
Вставить новую запись и получить значение первичного ключа.
целое число insertUsing(array $columns, Closure|Билдер|строка $query)
Вставить новые записи в таблицу, используя подзапрос.
целое число update(array $values)
Обновить запись в базе данных.
bool updateOrInsert(array $attributes, array $values = [])
Вставить или обновить запись, соответствующую атрибутам, и заполнить её значениями.
int increment(string $column, float|int $amount = 1, array $extra = [])
Увеличить значение столбца на заданную величину.
int decrement(string $column, float|int $amount = 1, array $extra = [])
Уменьшить значение столбца на заданную величину.
int delete(mixed $id = null)
Удалить запись из базы данных.
void truncate()
Выполнить операцию truncate для таблицы.
Builder newQuery()
Получить новый экземпляр генератора запросов.
protected Builder forSubQuery()
Создать новый экземпляр запроса для подзапроса.
Expression raw(mixed $value)
Создать выражение для базы данных в сыром виде.
array getBindings()
Получить текущие значения связей запроса в плоском массиве.
array getRawBindings()
Получить массив связей в сыром виде.
$this setBindings(array $bindings, string $type = 'where')
Установить связи в генераторе запросов.
$this addBinding(mixed $value, string $type = 'where')
Добавить связь к запросу.
$this mergeBindings(Builder $query)
Объединить массив связей в наши связи.
protected array cleanBindings(array $bindings)
Удалить все выражения из списка связей.
protected mixed flattenValue(mixed $value)
Получить скалярное значение типа из входных данных неизвестного типа.
protected string defaultKeyName()
Получить имя ключа по умолчанию для таблицы.
ConnectionInterface getConnection()
Получить экземпляр подключения к базе данных.
Processor getProcessor()
Получить экземпляр обработчика запросов базы данных.
Grammar getGrammar()
Получить экземпляр синтаксического анализатора запросов.
$this useWritePdo()
Использовать pdo для записи запроса.
protected bool isQueryable(mixed $value)
Определить, является ли значение экземпляром генератора запросов или замыканием.
Builder cloneWithout(array $properties)
Клонировать запрос без указанных свойств.
Builder cloneWithoutBindings(array $except)
Клонировать запрос без указанных связывающих значений.
$this dump()
Вывести текущий SQL и связывающие значения.
void dd()
Прервать выполнение и вывести текущий SQL и связывающие значения.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/7.x/Illuminate/Database/Query/Builder.html