Грамматика
класс Грамматика расширяет Грамматика (Просмотреть исходный код)
Трейты
| ОбрабатываетJSONпути | |
| Макрообъект |
Свойства
| статический защищенный массив | $macros | Зарегистрированные строковые макросы. | из Макрообъект |
| защищенный Подключение | $connection | Подключение, используемое для экранирования значений. | из Грамматика |
| защищенная строка | $tablePrefix | Префикс таблицы грамматики. | из Грамматика |
| защищенный массив | $operators | Операторы, специфичные для грамматики. | |
| защищенный массив | $bitwiseOperators | Битовые операторы, специфичные для грамматики. | |
| защищенный массив строк | $selectComponents | Компоненты, составляющие предложение SELECT. |
Методы
| 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 void | flushMacros()
Очистить существующие макросы. | from Macroable |
| static mixed | __callStatic(string $method, array $parameters)
Динамически обрабатывать вызовы класса. | from Macroable |
| mixed | __call(string $method, array $parameters)
Динамически обрабатывать вызовы класса. | from Macroable |
| array | wrapArray(array $values)
Обернуть массив значений. | from Grammar |
| string | wrapTable(Expression|string $table)
Обернуть таблицу в идентификаторы ключевых слов. | from Grammar |
| string | wrap(Expression|string $value, bool $prefixAlias = false)
Обернуть значение в идентификаторы ключевых слов. | from Grammar |
| string | wrapAliasedValue(string $value, bool $prefixAlias = false)
Обернуть значение с псевдонимом. | from Grammar |
| string | wrapSegments(array $segments)
Обернуть заданные сегменты значений. | from Grammar |
| string | wrapValue(string $value)
Обернуть одиночную строку в идентификаторы ключевых слов. | from Grammar |
| string | wrapJsonSelector(string $value)
Обернуть заданный селектор JSON. | from Grammar |
| bool | isJsonSelector(string $value)
Определить, является ли данная строка селектором JSON. | from Grammar |
| string | columnize(array $columns)
Преобразовать массив имен столбцов в строку с разделителями. | from Grammar |
| string | parameterize(array $values)
Создать заполнители параметров запроса для массива. | from Grammar |
| string | parameter(mixed $value)
Получить соответствующий заполнитель параметра запроса для значения. | from Grammar |
| string | quoteString(string|array $value)
Взять в кавычки заданную строковую константу. | from Grammar |
| string | escape(string|float|int|bool|null $value, bool $binary = false)
Экранирует значение для безопасного внедрения в SQL. | from Grammar |
| bool | isExpression(mixed $value)
Определить, является ли данное значение необработанным выражением. | from Grammar |
| string|int|float | getValue(Expression|string|int|float $expression)
Преобразует выражения в их скалярные типы. | from Grammar |
| string | getDateFormat()
Получить формат для дат, хранящихся в базе данных. | from Grammar |
| string | getTablePrefix()
Получить префикс таблицы грамматики. | from Grammar |
| $this | setTablePrefix(string $prefix)
Установить префикс таблицы грамматики. | from Grammar |
| $this | setConnection(Connection $connection)
Установить подключение к базе данных грамматики. | from Grammar |
| array | wrapJsonFieldAndPath(string $column)
Разделить заданный селектор JSON на поле и необязательный путь и обернуть их отдельно. | from CompilesJsonPaths |
| string | wrapJsonPath(string $value, string $delimiter = '->')
Обернуть заданный путь JSON. | from CompilesJsonPaths |
| string | wrapJsonPathSegment(string $segment)
Обернуть заданный сегмент пути JSON. | from CompilesJsonPaths |
| string | compileSelect(Builder $query)
Скомпилировать запрос select в SQL. | |
| array | compileComponents(Builder $query)
Скомпилировать компоненты, необходимые для предложения select. | |
| string | compileAggregate(Builder $query, array $aggregate)
Скомпилировать предложение агрегированного select. | |
| string|null | compileColumns(Builder $query, array $columns)
Скомпилировать часть запроса "select *". |
| string | compileFrom(Builder $query, string $table)
Компилировать часть "from" запроса. | |
| string | compileJoins(Builder $query, array $joins)
Компилировать части "join" запроса. | |
| string | compileJoinLateral(JoinLateralClause $join, string $expression)
Компилировать предложение "lateral join". | |
| string | compileWheres(Builder $query)
Компилировать части "where" запроса. | |
| array | compileWheresToArray(Builder $query)
Получить массив всех предложений where для запроса. | |
| string | concatenateWhereClauses(Builder $query, array $sql)
Форматировать предложения where в одну строку. | |
| string | whereRaw(Builder $query, array $where)
Компилировать предложение raw where. | |
| string | whereBasic(Builder $query, array $where)
Компилировать базовое предложение where. | |
| string | whereBitwise(Builder $query, array $where)
Компилировать предложение where с битовыми операторами. | |
| string | whereIn(Builder $query, array $where)
Компилировать предложение "where in". | |
| string | whereNotIn(Builder $query, array $where)
Компилировать предложение "where not in". | |
| string | whereNotInRaw(Builder $query, array $where)
Компилировать предложение "where not in raw". | |
| string | whereInRaw(Builder $query, array $where)
Компилировать предложение "where in raw". | |
| string | whereNull(Builder $query, array $where)
Компилировать предложение "where null". | |
| string | whereNotNull(Builder $query, array $where)
Компилировать предложение "where not null". | |
| string | whereBetween(Builder $query, array $where)
Компилировать предложение where "between". | |
| string | whereBetweenColumns(Builder $query, array $where)
Компилировать предложение where "between". | |
| string | whereDate(Builder $query, array $where)
Компилировать предложение "where date". | |
| string | whereTime(Builder $query, array $where)
Компилировать предложение "where time". | |
| string | whereDay(Builder $query, array $where)
Компилировать предложение "where day". | |
| string | whereMonth(Builder $query, array $where)
Компилировать предложение "where month". | |
| string | whereYear(Builder $query, array $where)
Компилировать предложение "where year". | |
| string | dateBasedWhere(string $type, Builder $query, array $where)
Компилировать предложение where, основанное на дате. | |
| string | whereColumn(Builder $query, array $where)
Компилировать предложение where, сравнивающее два столбца. | |
| string | whereNested(Builder $query, array $where)
Компилировать вложенное предложение where. | |
| string | whereSub(Builder $query, array $where)
Компилировать условие where с подзапросом. | |
| string | whereExists(Builder $query, array $where)
Компилировать предложение where exists. | |
| string | whereNotExists(Builder $query, array $where)
Компилировать предложение where exists. | |
| string | whereRowValues(Builder $query, array $where)
Компилировать условие where с значениями строк. | |
| string | whereJsonBoolean(Builder $query, array $where)
Компилировать предложение "where JSON boolean". | |
| string | whereJsonContains(Builder $query, array $where)
Компилировать предложение "where JSON contains". | |
| string | compileJsonContains(string $column, string $value)
Компилировать предложение "JSON contains" в SQL. | |
| string | prepareBindingForJsonContains(mixed $binding)
Подготовить привязку для предложения "JSON contains". | |
| string | whereJsonContainsKey(Builder $query, array $where)
Компилировать предложение "where JSON contains key". | |
| string | compileJsonContainsKey(string $column)
Компилировать предложение "JSON contains key" в SQL. | |
| string | whereJsonLength(Builder $query, array $where)
Компилировать предложение "where JSON length". | |
| string | compileJsonLength(string $column, string $operator, string $value)
Компилировать предложение "JSON length" в SQL. | |
| string | compileJsonValueCast(string $value)
Компилировать предложение "JSON value cast" в SQL. | |
| string | whereFullText(Builder $query, array $where)
Компилировать предложение "where fulltext". |
| string | whereExpression(Builder $query, array $where)
Компилировать условие на основе выражения. | |
| string | compileGroups(Builder $query, array $groups)
Компилировать части запроса "group by". | |
| string | compileHavings(Builder $query)
Компилировать части запроса "having". | |
| string | compileHaving(array $having)
Компилировать отдельное условие "having". | |
| string | compileBasicHaving(array $having)
Компилировать базовый having-оператор. | |
| string | compileHavingBetween(array $having)
Компилировать having-оператор "between". | |
| string | compileHavingNull(array $having)
Компилировать having-оператор "null". | |
| string | compileHavingNotNull(array $having)
Компилировать having-оператор "not null". | |
| string | compileHavingBit(array $having)
Компилировать having-оператор, включающий битовый оператор. | |
| string | compileHavingExpression(array $having)
Компилировать having-оператор, включающий выражение. | |
| string | compileNestedHavings(array $having)
Компилировать вложенное условие "having". | |
| string | compileOrders(Builder $query, array $orders)
Компилировать части запроса "order by". | |
| array | compileOrdersToArray(Builder $query, array $orders)
Компилировать порядок сортировки запроса в массив. | |
| string | compileRandom(string|int $seed)
Компилировать оператор random в SQL. | |
| string | compileLimit(Builder $query, int $limit)
Компилировать части запроса "limit". | |
| string | compileOffset(Builder $query, int $offset)
Компилировать части запроса "offset". | |
| string | compileUnions(Builder $query)
Компилировать "union" запросы, прикрепленные к основному запросу. | |
| string | compileUnion(array $union)
Компилировать отдельное выражение "union". | |
| string | wrapUnion(string $sql)
Оборачивает подзапрос union в скобки. | |
| string | compileUnionAggregate(Builder $query)
Компилировать агрегированный запрос union в SQL. | |
| string | compileExists(Builder $query)
Компилировать выражение "exists" в SQL. | |
| string | compileInsert(Builder $query, array $values)
Компилировать оператор INSERT в SQL. | |
| string | compileInsertOrIgnore(Builder $query, array $values)
Компилировать оператор INSERT IGNORE в SQL. | |
| string | compileInsertGetId(Builder $query, array $values, string $sequence)
Компилировать оператор INSERT и получить ID в SQL. | |
| string | compileInsertUsing(Builder $query, array $columns, string $sql)
Компилировать оператор INSERT с использованием подзапроса в SQL. | |
| string | compileInsertOrIgnoreUsing(Builder $query, array $columns, string $sql)
Компилировать оператор INSERT IGNORE с использованием подзапроса в SQL. | |
| string | compileUpdate(Builder $query, array $values)
Компилировать оператор UPDATE в SQL. | |
| string | compileUpdateColumns(Builder $query, array $values)
Компилировать столбцы для оператора UPDATE. | |
| string | compileUpdateWithoutJoins(Builder $query, string $table, string $columns, string $where)
Компилировать оператор UPDATE без объединений в SQL. | |
| string | compileUpdateWithJoins(Builder $query, string $table, string $columns, string $where)
Компилировать оператор UPDATE с объединениями в SQL. | |
| string | compileUpsert(Builder $query, array $values, array $uniqueBy, array $update)
Компилировать оператор "upsert" в SQL. | |
| array | prepareBindingsForUpdate(array $bindings, array $values)
Подготовить параметры для оператора UPDATE. | |
| string | compileDelete(Builder $query)
Компилировать оператор DELETE в SQL. | |
| string | compileDeleteWithoutJoins(Builder $query, string $table, string $where)
Компилировать оператор DELETE без объединений в SQL. | |
| string | compileDeleteWithJoins(Builder $query, string $table, string $where)
Компилировать оператор DELETE с объединениями в SQL. | |
| array | prepareBindingsForDelete(array $bindings)
Подготовить параметры для оператора DELETE. | |
| array | compileTruncate(Builder $query)
Компилировать оператор TRUNCATE TABLE в SQL. | |
| string | compileLock(Builder $query, bool|string $value)
Компилировать оператор блокировки в SQL. | |
| bool | supportsSavepoints()
Определить, поддерживает ли синтаксический анализатор savepoint. | |
| string | compileSavepoint(string $name)
Компилировать SQL-выражение для определения savepoint. |
| string | compileSavepointRollBack(string $name)
Компилировать SQL-запрос для отката сохраняемой точки. | |
| string | wrapJsonBooleanSelector(string $value)
Оборачивание заданного JSON-селектора для булевых значений. | |
| string | wrapJsonBooleanValue(string $value)
Оборачивание заданного булевого JSON-значения. | |
| string | concatenate(array $segments)
Конкатенация массива сегментов с удалением пустых. | |
| string | removeLeadingBoolean(string $value)
Удаление ведущего булевого значения из запроса. | |
| string | substituteBindingsIntoRawSql(string $sql, array $bindings)
Подстановка заданных связей в заданный SQL-запрос. | |
| array | getOperators()
Получение операторов, специфичных для грамматики. | |
| array | getBitwiseOperators()
Получение битовых операторов, специфичных для грамматики. |
Подробное описание
static void macro(string $name, object|callable $macro)
Регистрация пользовательского макроса.
static void mixin(object $mixin, bool $replace = true)
Смешивание другого объекта в класс.
static bool hasMacro(string $name)
Проверка наличия зарегистрированного макроса.
static void flushMacros()
Очистка существующих макросов.
static mixed __callStatic(string $method, array $parameters)
Динамическая обработка вызовов класса.
mixed __call(string $method, array $parameters)
Динамическая обработка вызовов класса.
array wrapArray(array $values)
Оборачивание массива значений.
string wrapTable(Expression|string $table)
Оборачивание таблицы ключевыми идентификаторами.
string wrap(Expression|string $value, bool $prefixAlias = false)
Оборачивание значения ключевыми идентификаторами.
protected string wrapAliasedValue(string $value, bool $prefixAlias = false)
Оборачивание значения с алиасом.
protected string wrapSegments(array $segments)
Оборачивание предоставленных сегментов.
protected string wrapValue(string $value)
Оборачивание одной строки ключевыми идентификаторами.
protected string wrapJsonSelector(string $value)
Оборачивание заданного JSON-селектора.
protected bool isJsonSelector(string $value)
Определение, является ли заданная строка JSON-селектором.
string columnize(array $columns)
Преобразование массива имен столбцов в строку с разделителями.
string parameterize(array $values)
Создание заменителей параметров запроса для массива.
string parameter(mixed $value)
Получить соответствующий заполнитель параметра запроса для значения.
string quoteString(string|array $value)
Выделить указанную строковую литерал.
string escape(string|float|int|bool|null $value, bool $binary = false)
Выполняет экранирование значения для безопасной вставки в SQL.
bool isExpression(mixed $value)
Определить, является ли данное значение исходным выражением.
string|int|float getValue(Expression|string|int|float $expression)
Преобразует выражения в их скалярные типы.
string getDateFormat()
Получить формат дат, хранящихся в базе данных.
string getTablePrefix()
Получить префикс таблицы грамматики.
$this setTablePrefix(string $prefix)
Установить префикс таблицы грамматики.
$this setConnection(Connection $connection)
Установить подключение к базе данных грамматики.
protected array wrapJsonFieldAndPath(string $column)
Разделить заданный JSON-селектор на поле и необязательный путь и обернуть их отдельно.
protected string wrapJsonPath(string $value, string $delimiter = '->')
Обернуть заданный JSON-путь.
protected string wrapJsonPathSegment(string $segment)
Обернуть заданный сегмент JSON-пути.
string compileSelect(Builder $query)
Скомпилировать запрос select в SQL.
protected array compileComponents(Builder $query)
Скомпилировать компоненты, необходимые для предложения select.
protected string compileAggregate(Builder $query, array $aggregate)
Скомпилировать агрегированное предложение select.
protected string|null compileColumns(Builder $query, array $columns)
Скомпилировать часть "select *" запроса.
protected string compileFrom(Builder $query, string $table)
Скомпилировать часть "from" запроса.
protected string compileJoins(Builder $query, array $joins)
Скомпилировать части "join" запроса.
string compileJoinLateral(JoinLateralClause $join, string $expression)
Скомпилировать предложение "lateral join".
строка compileWheres(Builder $query)
Компилировать части запроса "where".
protected массив compileWheresToArray(Builder $query)
Получить массив всех условий where для запроса.
protected строка concatenateWhereClauses(Builder $query, array $sql)
Форматировать условия where в одну строку.
protected строка whereRaw(Builder $query, array $where)
Скомпилировать условие where с использованием raw SQL.
protected строка whereBasic(Builder $query, array $where)
Скомпилировать базовое условие where.
protected строка whereBitwise(Builder $query, array $where)
Скомпилировать условие where с битовыми операторами.
protected строка whereIn(Builder $query, array $where)
Скомпилировать условие "where in".
protected строка whereNotIn(Builder $query, array $where)
Скомпилировать условие "where not in".
protected строка whereNotInRaw(Builder $query, array $where)
Скомпилировать условие "where not in raw".
Для безопасности, whereIntegerInRaw гарантирует, что этот метод используется только с целочисленными значениями.
protected строка whereInRaw(Builder $query, array $where)
Скомпилировать условие "where in raw".
Для безопасности, whereIntegerInRaw гарантирует, что этот метод используется только с целочисленными значениями.
protected строка whereNull(Builder $query, array $where)
Скомпилировать условие "where null".
protected строка whereNotNull(Builder $query, array $where)
Скомпилировать условие "where not null".
protected строка whereBetween(Builder $query, array $where)
Скомпилировать условие "between".
protected строка whereBetweenColumns(Builder $query, array $where)
Скомпилировать условие "between".
protected строка whereDate(Builder $query, array $where)
Скомпилировать условие "where date".
protected строка whereTime(Builder $query, array $where)
Скомпилировать условие "where time".
protected string whereDay(Builder $query, array $where)
Компилировать условие «где день».
protected string whereMonth(Builder $query, array $where)
Компилировать условие «где месяц».
protected string whereYear(Builder $query, array $where)
Компилировать условие «где год».
protected string dateBasedWhere(string $type, Builder $query, array $where)
Компилировать условие «где дата».
protected string whereColumn(Builder $query, array $where)
Компилировать условие «где столбец» сравнивая два столбца.
protected string whereNested(Builder $query, array $where)
Компилировать вложенное условие «где».
protected string whereSub(Builder $query, array $where)
Компилировать условие «где» с подзапросом.
protected string whereExists(Builder $query, array $where)
Компилировать условие «где существует».
protected string whereNotExists(Builder $query, array $where)
Компилировать условие «где не существует».
protected string whereRowValues(Builder $query, array $where)
Компилировать условие «где значения строк».
protected string whereJsonBoolean(Builder $query, array $where)
Компилировать условие «где JSON булево».
protected string whereJsonContains(Builder $query, array $where)
Компилировать условие «где JSON содержит».
protected string compileJsonContains(string $column, string $value)
Компилировать оператор «JSON содержит» в SQL.
string prepareBindingForJsonContains(mixed $binding)
Подготовить привязку для оператора «JSON содержит».
protected string whereJsonContainsKey(Builder $query, array $where)
Компилировать условие «где JSON содержит ключ».
protected string compileJsonContainsKey(string $column)
Компилировать оператор «JSON содержит ключ» в SQL.
protected string whereJsonLength(Builder $query, array $where)
Компиляция условия "длина JSON".
protected string compileJsonLength(string $column, string $operator, string $value)
Компиляция оператора "длина JSON" в SQL.
string compileJsonValueCast(string $value)
Компиляция оператора "преобразования JSON значения" в SQL.
string whereFullText(Builder $query, array $where)
Компиляция условия "where fulltext".
string whereExpression(Builder $query, array $where)
Компиляция условия на основе выражения.
protected string compileGroups(Builder $query, array $groups)
Компиляция фрагментов "группировки" запроса.
protected string compileHavings(Builder $query)
Компиляция фрагментов "having" запроса.
protected string compileHaving(array $having)
Компиляция одного условия "having".
protected string compileBasicHaving(array $having)
Компиляция простого условия "having".
protected string compileHavingBetween(array $having)
Компиляция условия "between" для "having".
protected string compileHavingNull(array $having)
Компиляция условия "равен null" для "having".
protected string compileHavingNotNull(array $having)
Компиляция условия "не равен null" для "having".
protected string compileHavingBit(array $having)
Компиляция условия "having" с битовыми операторами.
protected string compileHavingExpression(array $having)
Компиляция условия "having" с выражениями.
protected string compileNestedHavings(array $having)
Компиляция вложенного условия "having".
protected string compileOrders(Builder $query, array $orders)
Компиляция фрагментов "order by" запроса.
protected array compileOrdersToArray(Builder $query, array $orders)
Компиляция параметров сортировки в массив.
string compileRandom(string|int $seed)
Компиляция оператора случайной выборки в SQL.
protected string compileLimit(Builder $query, int $limit)
Компиляция фрагментов "limit" запроса.
protected string compileOffset(Builder $query, int $offset)
Компилировать части запроса "offset".
protected string compileUnions(Builder $query)
Компилировать запросы "union", присоединённые к основному запросу.
protected string compileUnion(array $union)
Компилировать отдельное выражение union.
protected string wrapUnion(string $sql)
Оборачивание подзапроса union в скобки.
protected string compileUnionAggregate(Builder $query)
Компилировать агрегированный запрос union в SQL.
string compileExists(Builder $query)
Компилировать выражение exists в SQL.
string compileInsert(Builder $query, array $values)
Компилировать оператор INSERT в SQL.
string compileInsertOrIgnore(Builder $query, array $values)
Компилировать оператор INSERT IGNORE в SQL.
string compileInsertGetId(Builder $query, array $values, string $sequence)
Компилировать оператор INSERT и получить ID в SQL.
string compileInsertUsing(Builder $query, array $columns, string $sql)
Компилировать оператор INSERT с подзапросом в SQL.
string compileInsertOrIgnoreUsing(Builder $query, array $columns, string $sql)
Компилировать оператор INSERT IGNORE с подзапросом в SQL.
string compileUpdate(Builder $query, array $values)
Компилировать оператор UPDATE в SQL.
protected string compileUpdateColumns(Builder $query, array $values)
Компилировать столбцы для оператора UPDATE.
protected string compileUpdateWithoutJoins(Builder $query, string $table, string $columns, string $where)
Компилировать оператор UPDATE без объединений в SQL.
protected string compileUpdateWithJoins(Builder $query, string $table, string $columns, string $where)
Компилировать оператор UPDATE с объединениями в SQL.
строка compileUpsert(Builder $query, array $values, array $uniqueBy, array $update)
Компилирует оператор «upsert» в SQL.
массив prepareBindingsForUpdate(array $bindings, array $values)
Подготавливает параметры для оператора обновления.
строка compileDelete(Builder $query)
Компилирует оператор удаления в SQL.
защищено строка compileDeleteWithoutJoins(Builder $query, string $table, string $where)
Компилирует оператор удаления без объединений в SQL.
защищено строка compileDeleteWithJoins(Builder $query, string $table, string $where)
Компилирует оператор удаления с объединениями в SQL.
массив prepareBindingsForDelete(array $bindings)
Подготавливает параметры для оператора удаления.
массив compileTruncate(Builder $query)
Компилирует оператор обнуления таблицы в SQL.
защищено строка compileLock(Builder $query, bool|string $value)
Компилирует блокировку в SQL.
логическое значение supportsSavepoints()
Определяет, поддерживает ли грамматика сохранение точек.
строка compileSavepoint(string $name)
Компилирует оператор SQL для определения сохранения точки.
строка compileSavepointRollBack(string $name)
Компилирует оператор SQL для отката сохранения точки.
защищено строка wrapJsonBooleanSelector(string $value)
Оборачивает заданный JSON селектор для булевых значений.
защищено строка wrapJsonBooleanValue(string $value)
Оборачивает заданное JSON булевое значение.
защищено строка concatenate(array $segments)
Конкатенирует массив сегментов, удаляя пустые.
защищено строка removeLeadingBoolean(string $value)
Удаляет ведущую булевую переменную из оператора.
строка substituteBindingsIntoRawSql(string $sql, array $bindings)
Заменяет заданные параметры в заданном необработанном операторе SQL.
массив getOperators()
Получить грамматические операторы.
массив getBitwiseOperators()
Получить грамматические битовые операторы.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/10.x/Illuminate/Database/Query/Grammars/Grammar.html