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