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