Grammar
class Grammar extends Grammar (View source)
Traits
Macroable |
Properties
static protected array | $macros | The registered string macros. | from Macroable |
protected string | $tablePrefix | The grammar table prefix. | from Grammar |
protected array | $operators | The grammar specific operators. | |
protected array | $selectComponents | The components that make up a select clause. |
Methods
static void | macro(string $name, object|callable $macro) Register a custom macro. | from Macroable |
static void | mixin(object $mixin) Mix another object into the class. | from Macroable |
static bool | hasMacro(string $name) Checks if macro is registered. | from Macroable |
static mixed | __callStatic(string $method, array $parameters) Dynamically handle calls to the class. | from Macroable |
mixed | __call(string $method, array $parameters) Dynamically handle calls to the class. | from Macroable |
array | wrapArray(array $values) Wrap an array of values. | from Grammar |
string | wrapTable(Expression|string $table) Wrap a table in keyword identifiers. | from Grammar |
string | wrap(Expression|string $value, bool $prefixAlias = false) Wrap a value in keyword identifiers. | |
string | wrapAliasedValue(string $value, bool $prefixAlias = false) Wrap a value that has an alias. | from Grammar |
string | wrapSegments(array $segments) Wrap the given value segments. | from Grammar |
string | wrapValue(string $value) Wrap a single string in keyword identifiers. | from Grammar |
string | columnize(array $columns) Convert an array of column names into a delimited string. | from Grammar |
string | parameterize(array $values) Create query parameter place-holders for an array. | from Grammar |
string | parameter(mixed $value) Get the appropriate query parameter place-holder for a value. | from Grammar |
string | quoteString(string|array $value) Quote the given string literal. | from Grammar |
bool | isExpression(mixed $value) Determine if the given value is a raw expression. | from Grammar |
string | getValue(Expression $expression) Get the value of a raw expression. | from Grammar |
string | getDateFormat() Get the format for database stored dates. | from Grammar |
string | getTablePrefix() Get the grammar's table prefix. | from Grammar |
$this | setTablePrefix(string $prefix) Set the grammar's table prefix. | from Grammar |
string | compileSelect(Builder $query) Compile a select query into SQL. | |
array | compileComponents(Builder $query) Compile the components necessary for a select clause. | |
string | compileAggregate(Builder $query, array $aggregate) Compile an aggregated select clause. | |
string|null | compileColumns(Builder $query, array $columns) Compile the "select *" portion of the query. | |
string | compileFrom(Builder $query, string $table) Compile the "from" portion of the query. | |
string | compileJoins(Builder $query, array $joins) Compile the "join" portions of the query. | |
string | compileWheres(Builder $query) Compile the "where" portions of the query. | |
array | compileWheresToArray(Builder $query) Get an array of all the where clauses for the query. | |
string | concatenateWhereClauses(Builder $query, array $sql) Format the where clause statements into one string. | |
string | whereRaw(Builder $query, array $where) Compile a raw where clause. | |
string | whereBasic(Builder $query, array $where) Compile a basic where clause. | |
string | whereIn(Builder $query, array $where) Compile a "where in" clause. | |
string | whereNotIn(Builder $query, array $where) Compile a "where not in" clause. | |
string | whereInSub(Builder $query, array $where) Compile a where in sub-select clause. | |
string | whereNotInSub(Builder $query, array $where) Compile a where not in sub-select clause. | |
string | whereNull(Builder $query, array $where) Compile a "where null" clause. | |
string | whereNotNull(Builder $query, array $where) Compile a "where not null" clause. | |
string | whereBetween(Builder $query, array $where) Compile a "between" where clause. | |
string | whereDate(Builder $query, array $where) Compile a "where date" clause. | |
string | whereTime(Builder $query, array $where) Compile a "where time" clause. | |
string | whereDay(Builder $query, array $where) Compile a "where day" clause. | |
string | whereMonth(Builder $query, array $where) Compile a "where month" clause. | |
string | whereYear(Builder $query, array $where) Compile a "where year" clause. | |
string | dateBasedWhere(string $type, Builder $query, array $where) Compile a date based where clause. | |
string | whereColumn(Builder $query, array $where) Compile a where clause comparing two columns. | |
string | whereNested(Builder $query, array $where) Compile a nested where clause. | |
string | whereSub(Builder $query, array $where) Compile a where condition with a sub-select. | |
string | whereExists(Builder $query, array $where) Compile a where exists clause. | |
string | whereNotExists(Builder $query, array $where) Compile a where exists clause. | |
string | whereRowValues(Builder $query, array $where) Compile a where row values condition. | |
string | whereJsonContains(Builder $query, array $where) Compile a "where JSON contains" clause. | |
string | compileJsonContains(string $column, string $value) Compile a "JSON contains" statement into SQL. | |
string | prepareBindingForJsonContains(mixed $binding) Prepare the binding for a "JSON contains" statement. | |
string | whereJsonLength(Builder $query, array $where) Compile a "where JSON length" clause. | |
string | compileJsonLength(string $column, string $operator, string $value) Compile a "JSON length" statement into SQL. | |
string | compileGroups(Builder $query, array $groups) Compile the "group by" portions of the query. | |
string | compileHavings(Builder $query, array $havings) Compile the "having" portions of the query. | |
string | compileHaving(array $having) Compile a single having clause. | |
string | compileBasicHaving(array $having) Compile a basic having clause. | |
string | compileOrders(Builder $query, array $orders) Compile the "order by" portions of the query. | |
array | compileOrdersToArray(Builder $query, array $orders) Compile the query orders to an array. | |
string | compileRandom(string $seed) Compile the random statement into SQL. | |
string | compileLimit(Builder $query, int $limit) Compile the "limit" portions of the query. | |
string | compileOffset(Builder $query, int $offset) Compile the "offset" portions of the query. | |
string | compileUnions(Builder $query) Compile the "union" queries attached to the main query. | |
string | compileUnion(array $union) Compile a single union statement. | |
string | compileExists(Builder $query) Compile an exists statement into SQL. | |
string | compileInsert(Builder $query, array $values) Compile an insert statement into SQL. | |
string | compileInsertGetId(Builder $query, array $values, string $sequence) Compile an insert and get ID statement into SQL. | |
string | compileUpdate(Builder $query, array $values) Compile an update statement into SQL. | |
array | prepareBindingsForUpdate(array $bindings, array $values) Prepare the bindings for an update statement. | |
string | compileDelete(Builder $query) Compile a delete statement into SQL. | |
array | prepareBindingsForDelete(array $bindings) Prepare the bindings for a delete statement. | |
array | compileTruncate(Builder $query) Compile a truncate table statement into SQL. | |
string | compileLock(Builder $query, bool|string $value) Compile the lock into SQL. | |
bool | supportsSavepoints() Determine if the grammar supports savepoints. | |
string | compileSavepoint(string $name) Compile the SQL statement to define a savepoint. | |
string | compileSavepointRollBack(string $name) Compile the SQL statement to execute a savepoint rollback. | |
string | wrapJsonSelector(string $value) Wrap the given JSON selector. | |
array | wrapJsonFieldAndPath(string $column) Split the given JSON selector into the field and the optional path and wrap them separately. | |
string | wrapJsonPath(string $value) Wrap the given JSON path. | |
bool | isJsonSelector(string $value) Determine if the given string is a JSON selector. | |
string | concatenate(array $segments) Concatenate an array of segments, removing empties. | |
string | removeLeadingBoolean(string $value) Remove the leading boolean from a statement. | |
array | getOperators() Get the grammar specific operators. |
Details
static void macro(string $name, object|callable $macro)
Register a custom macro.
static void mixin(object $mixin)
Mix another object into the class.
static bool hasMacro(string $name)
Checks if macro is registered.
static mixed __callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
mixed __call(string $method, array $parameters)
Dynamically handle calls to the class.
array wrapArray(array $values)
Wrap an array of values.
string wrapTable(Expression|string $table)
Wrap a table in keyword identifiers.
string wrap(Expression|string $value, bool $prefixAlias = false)
Wrap a value in keyword identifiers.
protected string wrapAliasedValue(string $value, bool $prefixAlias = false)
Wrap a value that has an alias.
protected string wrapSegments(array $segments)
Wrap the given value segments.
protected string wrapValue(string $value)
Wrap a single string in keyword identifiers.
string columnize(array $columns)
Convert an array of column names into a delimited string.
string parameterize(array $values)
Create query parameter place-holders for an array.
string parameter(mixed $value)
Get the appropriate query parameter place-holder for a value.
string quoteString(string|array $value)
Quote the given string literal.
bool isExpression(mixed $value)
Determine if the given value is a raw expression.
string getValue(Expression $expression)
Get the value of a raw expression.
string getDateFormat()
Get the format for database stored dates.
string getTablePrefix()
Get the grammar's table prefix.
$this setTablePrefix(string $prefix)
Set the grammar's table prefix.
string compileSelect(Builder $query)
Compile a select query into SQL.
protected array compileComponents(Builder $query)
Compile the components necessary for a select clause.
protected string compileAggregate(Builder $query, array $aggregate)
Compile an aggregated select clause.
protected string|null compileColumns(Builder $query, array $columns)
Compile the "select *" portion of the query.
protected string compileFrom(Builder $query, string $table)
Compile the "from" portion of the query.
protected string compileJoins(Builder $query, array $joins)
Compile the "join" portions of the query.
protected string compileWheres(Builder $query)
Compile the "where" portions of the query.
protected array compileWheresToArray(Builder $query)
Get an array of all the where clauses for the query.
protected string concatenateWhereClauses(Builder $query, array $sql)
Format the where clause statements into one string.
protected string whereRaw(Builder $query, array $where)
Compile a raw where clause.
protected string whereBasic(Builder $query, array $where)
Compile a basic where clause.
protected string whereIn(Builder $query, array $where)
Compile a "where in" clause.
protected string whereNotIn(Builder $query, array $where)
Compile a "where not in" clause.
protected string whereInSub(Builder $query, array $where)
Compile a where in sub-select clause.
protected string whereNotInSub(Builder $query, array $where)
Compile a where not in sub-select clause.
protected string whereNull(Builder $query, array $where)
Compile a "where null" clause.
protected string whereNotNull(Builder $query, array $where)
Compile a "where not null" clause.
protected string whereBetween(Builder $query, array $where)
Compile a "between" where clause.
protected string whereDate(Builder $query, array $where)
Compile a "where date" clause.
protected string whereTime(Builder $query, array $where)
Compile a "where time" clause.
protected string whereDay(Builder $query, array $where)
Compile a "where day" clause.
protected string whereMonth(Builder $query, array $where)
Compile a "where month" clause.
protected string whereYear(Builder $query, array $where)
Compile a "where year" clause.
protected string dateBasedWhere(string $type, Builder $query, array $where)
Compile a date based where clause.
protected string whereColumn(Builder $query, array $where)
Compile a where clause comparing two columns.
.
protected string whereNested(Builder $query, array $where)
Compile a nested where clause.
protected string whereSub(Builder $query, array $where)
Compile a where condition with a sub-select.
protected string whereExists(Builder $query, array $where)
Compile a where exists clause.
protected string whereNotExists(Builder $query, array $where)
Compile a where exists clause.
protected string whereRowValues(Builder $query, array $where)
Compile a where row values condition.
protected string whereJsonContains(Builder $query, array $where)
Compile a "where JSON contains" clause.
protected string compileJsonContains(string $column, string $value)
Compile a "JSON contains" statement into SQL.
string prepareBindingForJsonContains(mixed $binding)
Prepare the binding for a "JSON contains" statement.
protected string whereJsonLength(Builder $query, array $where)
Compile a "where JSON length" clause.
protected string compileJsonLength(string $column, string $operator, string $value)
Compile a "JSON length" statement into SQL.
protected string compileGroups(Builder $query, array $groups)
Compile the "group by" portions of the query.
protected string compileHavings(Builder $query, array $havings)
Compile the "having" portions of the query.
protected string compileHaving(array $having)
Compile a single having clause.
protected string compileBasicHaving(array $having)
Compile a basic having clause.
protected string compileOrders(Builder $query, array $orders)
Compile the "order by" portions of the query.
protected array compileOrdersToArray(Builder $query, array $orders)
Compile the query orders to an array.
string compileRandom(string $seed)
Compile the random statement into SQL.
protected string compileLimit(Builder $query, int $limit)
Compile the "limit" portions of the query.
protected string compileOffset(Builder $query, int $offset)
Compile the "offset" portions of the query.
protected string compileUnions(Builder $query)
Compile the "union" queries attached to the main query.
protected string compileUnion(array $union)
Compile a single union statement.
string compileExists(Builder $query)
Compile an exists statement into SQL.
string compileInsert(Builder $query, array $values)
Compile an insert statement into SQL.
string compileInsertGetId(Builder $query, array $values, string $sequence)
Compile an insert and get ID statement into SQL.
string compileUpdate(Builder $query, array $values)
Compile an update statement into SQL.
array prepareBindingsForUpdate(array $bindings, array $values)
Prepare the bindings for an update statement.
string compileDelete(Builder $query)
Compile a delete statement into SQL.
array prepareBindingsForDelete(array $bindings)
Prepare the bindings for a delete statement.
array compileTruncate(Builder $query)
Compile a truncate table statement into SQL.
protected string compileLock(Builder $query, bool|string $value)
Compile the lock into SQL.
bool supportsSavepoints()
Determine if the grammar supports savepoints.
string compileSavepoint(string $name)
Compile the SQL statement to define a savepoint.
string compileSavepointRollBack(string $name)
Compile the SQL statement to execute a savepoint rollback.
protected string wrapJsonSelector(string $value)
Wrap the given JSON selector.
protected array wrapJsonFieldAndPath(string $column)
Split the given JSON selector into the field and the optional path and wrap them separately.
protected string wrapJsonPath(string $value)
Wrap the given JSON path.
protected bool isJsonSelector(string $value)
Determine if the given string is a JSON selector.
protected string concatenate(array $segments)
Concatenate an array of segments, removing empties.
protected string removeLeadingBoolean(string $value)
Remove the leading boolean from a statement.
array getOperators()
Get the grammar specific operators.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.7/Illuminate/Database/Query/Grammars/Grammar.html