class Grammar extends Grammar (View source)

Traits

Properties

static protected array $macros

The registered string macros.

from  Macroable
protected Connection $connection

The connection used for escaping values.

from  Grammar
protected string $tablePrefix

The grammar table prefix.

from  Grammar
protected array $operators

The grammar specific operators.

protected array $bitwiseOperators

The grammar specific bitwise operators.

protected string[] $selectComponents

The components that make up a select clause.

Methods

static void
macro(string $name, object|callable $macro)

Register a custom macro.

static void
mixin(object $mixin, bool $replace = true)

Mix another object into the class.

static bool
hasMacro(string $name)

Checks if macro is registered.

static void
flushMacros()

Flush the existing macros.

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.

from  Grammar
string
wrapTable(Expression|string $table)

Wrap a table in keyword identifiers.

from  Grammar
string
wrap(Expression|string $value)

Wrap a value in keyword identifiers.

from  Grammar
string
wrapAliasedValue(string $value)

Wrap a value that has an alias.

from  Grammar
string
wrapAliasedTable(string $value)

Wrap a table 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
wrapJsonSelector(string $value)

Wrap the given JSON selector.

from  Grammar
bool
isJsonSelector(string $value)

Determine if the given string is a JSON selector.

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
string
escape(string|float|int|bool|null $value, bool $binary = false)

Escapes a value for safe SQL embedding.

from  Grammar
bool
isExpression(mixed $value)

Determine if the given value is a raw expression.

from  Grammar
string|int|float
getValue(Expression|string|int|float $expression)

Transforms expressions to their scalar types.

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
$this
setConnection(Connection $connection)

Set the grammar's database connection.

from  Grammar
array
wrapJsonFieldAndPath(string $column)

Split the given JSON selector into the field and the optional path and wrap them separately.

string
wrapJsonPath(string $value, string $delimiter = '->')

Wrap the given JSON path.

string
wrapJsonPathSegment(string $segment)

Wrap the given JSON path segment.

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
compileJoinLateral(JoinLateralClause $join, string $expression)

Compile a "lateral join" clause.

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
whereBitwise(Builder $query, array $where)

Compile a bitwise operator where clause.

string
whereLike(Builder $query, array $where)

Compile a "where like" 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
whereNotInRaw(Builder $query, array $where)

Compile a "where not in raw" clause.

string
whereInRaw(Builder $query, array $where)

Compile a "where in raw" 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
whereBetweenColumns(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
whereJsonBoolean(Builder $query, array $where)

Compile a "where JSON boolean" clause.

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
whereJsonOverlaps(Builder $query, array $where)

Compile a "where JSON overlaps" clause.

string
compileJsonOverlaps(string $column, string $value)

Compile a "JSON overlaps" statement into SQL.

string
prepareBindingForJsonContains(mixed $binding)

Prepare the binding for a "JSON contains" statement.

string
whereJsonContainsKey(Builder $query, array $where)

Compile a "where JSON contains key" clause.

string
compileJsonContainsKey(string $column)

Compile a "JSON contains key" statement into SQL.

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
compileJsonValueCast(string $value)

Compile a "JSON value cast" statement into SQL.

string
whereFullText(Builder $query, array $where)

Compile a "where fulltext" clause.

string
whereExpression(Builder $query, array $where)

Compile a clause based on an expression.

string
compileGroups(Builder $query, array $groups)

Compile the "group by" portions of the query.

string
compileHavings(Builder $query)

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
compileHavingBetween(array $having)

Compile a "between" having clause.

string
compileHavingNull(array $having)

Compile a having null clause.

string
compileHavingNotNull(array $having)

Compile a having not null clause.

string
compileHavingBit(array $having)

Compile a having clause involving a bit operator.

string
compileHavingExpression(array $having)

Compile a having clause involving an expression.

string
compileNestedHavings(array $having)

Compile a nested 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|int $seed)

Compile the random statement into SQL.

string
compileLimit(Builder $query, int $limit)

Compile the "limit" portions of the query.

string
compileGroupLimit(Builder $query)

Compile a group limit clause.

string
compileRowNumber(string $partition, string $orders)

Compile a row number clause.

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
wrapUnion(string $sql)

Wrap a union subquery in parentheses.

string
compileUnionAggregate(Builder $query)

Compile a union aggregate query into SQL.

string
compileExists(Builder $query)

Compile an exists statement into SQL.

string
compileInsert(Builder $query, array $values)

Compile an insert statement into SQL.

string
compileInsertOrIgnore(Builder $query, array $values)

Compile an insert ignore statement into SQL.

string
compileInsertGetId(Builder $query, array $values, string $sequence)

Compile an insert and get ID statement into SQL.

string
compileInsertUsing(Builder $query, array $columns, string $sql)

Compile an insert statement using a subquery into SQL.

string
compileInsertOrIgnoreUsing(Builder $query, array $columns, string $sql)

Compile an insert ignore statement using a subquery into SQL.

string
compileUpdate(Builder $query, array $values)

Compile an update statement into SQL.

string
compileUpdateColumns(Builder $query, array $values)

Compile the columns for an update statement.

string
compileUpdateWithoutJoins(Builder $query, string $table, string $columns, string $where)

Compile an update statement without joins into SQL.

string
compileUpdateWithJoins(Builder $query, string $table, string $columns, string $where)

Compile an update statement with joins into SQL.

string
compileUpsert(Builder $query, array $values, array $uniqueBy, array $update)

Compile an "upsert" 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.

string
compileDeleteWithoutJoins(Builder $query, string $table, string $where)

Compile a delete statement without joins into SQL.

string
compileDeleteWithJoins(Builder $query, string $table, string $where)

Compile a delete statement with joins 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.

string|null
compileThreadCount()

Compile a query to get the number of open connections for a database.

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
wrapJsonBooleanSelector(string $value)

Wrap the given JSON selector for boolean values.

string
wrapJsonBooleanValue(string $value)

Wrap the given JSON boolean value.

string
concatenate(array $segments)

Concatenate an array of segments, removing empties.

string
removeLeadingBoolean(string $value)

Remove the leading boolean from a statement.

string
substituteBindingsIntoRawSql(string $sql, array $bindings)

Substitute the given bindings into the given raw SQL query.

array
getOperators()

Get the grammar specific operators.

array
getBitwiseOperators()

Get the grammar specific bitwise operators.

Details

static void macro(string $name, object|callable $macro)

Register a custom macro.

Parameters

string $name
object|callable $macro

Return Value

void

static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

static bool hasMacro(string $name)

Checks if macro is registered.

Parameters

string $name

Return Value

bool

static void flushMacros()

Flush the existing macros.

Return Value

void

static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

array wrapArray(array $values)

Wrap an array of values.

Parameters

array $values

Return Value

array

string wrapTable(Expression|string $table)

Wrap a table in keyword identifiers.

Parameters

Expression|string $table

Return Value

string

string wrap(Expression|string $value)

Wrap a value in keyword identifiers.

Parameters

Expression|string $value

Return Value

string

protected string wrapAliasedValue(string $value)

Wrap a value that has an alias.

Parameters

string $value

Return Value

string

protected string wrapAliasedTable(string $value)

Wrap a table that has an alias.

Parameters

string $value

Return Value

string

protected string wrapSegments(array $segments)

Wrap the given value segments.

Parameters

array $segments

Return Value

string

protected string wrapValue(string $value)

Wrap a single string in keyword identifiers.

Parameters

string $value

Return Value

string

protected string wrapJsonSelector(string $value)

Wrap the given JSON selector.

Parameters

string $value

Return Value

string

Exceptions

RuntimeException

protected bool isJsonSelector(string $value)

Determine if the given string is a JSON selector.

Parameters

string $value

Return Value

bool

string columnize(array $columns)

Convert an array of column names into a delimited string.

Parameters

array $columns

Return Value

string

string parameterize(array $values)

Create query parameter place-holders for an array.

Parameters

array $values

Return Value

string

string parameter(mixed $value)

Get the appropriate query parameter place-holder for a value.

Parameters

mixed $value

Return Value

string

string quoteString(string|array $value)

Quote the given string literal.

Parameters

string|array $value

Return Value

string

string escape(string|float|int|bool|null $value, bool $binary = false)

Escapes a value for safe SQL embedding.

Parameters

string|float|int|bool|null $value
bool $binary

Return Value

string

bool isExpression(mixed $value)

Determine if the given value is a raw expression.

Parameters

mixed $value

Return Value

bool

string|int|float getValue(Expression|string|int|float $expression)

Transforms expressions to their scalar types.

Parameters

Expression|string|int|float $expression

Return Value

string|int|float

string getDateFormat()

Get the format for database stored dates.

Return Value

string

string getTablePrefix()

Get the grammar's table prefix.

Return Value

string

$this setTablePrefix(string $prefix)

Set the grammar's table prefix.

Parameters

string $prefix

Return Value

$this

$this setConnection(Connection $connection)

Set the grammar's database connection.

Parameters

Connection $connection

Return Value

$this

protected array wrapJsonFieldAndPath(string $column)

Split the given JSON selector into the field and the optional path and wrap them separately.

Parameters

string $column

Return Value

array

protected string wrapJsonPath(string $value, string $delimiter = '->')

Wrap the given JSON path.

Parameters

string $value
string $delimiter

Return Value

string

protected string wrapJsonPathSegment(string $segment)

Wrap the given JSON path segment.

Parameters

string $segment

Return Value

string

string compileSelect(Builder $query)

Compile a select query into SQL.

Parameters

Builder $query

Return Value

string

protected array compileComponents(Builder $query)

Compile the components necessary for a select clause.

Parameters

Builder $query

Return Value

array

protected string compileAggregate(Builder $query, array $aggregate)

Compile an aggregated select clause.

Parameters

Builder $query
array $aggregate

Return Value

string

protected string|null compileColumns(Builder $query, array $columns)

Compile the "select *" portion of the query.

Parameters

Builder $query
array $columns

Return Value

string|null

protected string compileFrom(Builder $query, string $table)

Compile the "from" portion of the query.

Parameters

Builder $query
string $table

Return Value

string

protected string compileJoins(Builder $query, array $joins)

Compile the "join" portions of the query.

Parameters

Builder $query
array $joins

Return Value

string

string compileJoinLateral(JoinLateralClause $join, string $expression)

Compile a "lateral join" clause.

Parameters

JoinLateralClause $join
string $expression

Return Value

string

Exceptions

RuntimeException

string compileWheres(Builder $query)

Compile the "where" portions of the query.

Parameters

Builder $query

Return Value

string

protected array compileWheresToArray(Builder $query)

Get an array of all the where clauses for the query.

Parameters

Builder $query

Return Value

array

protected string concatenateWhereClauses(Builder $query, array $sql)

Format the where clause statements into one string.

Parameters

Builder $query
array $sql

Return Value

string

protected string whereRaw(Builder $query, array $where)

Compile a raw where clause.

Parameters

Builder $query
array $where

Return Value

string

protected string whereBasic(Builder $query, array $where)

Compile a basic where clause.

Parameters

Builder $query
array $where

Return Value

string

protected string whereBitwise(Builder $query, array $where)

Compile a bitwise operator where clause.

Parameters

Builder $query
array $where

Return Value

string

protected string whereLike(Builder $query, array $where)

Compile a "where like" clause.

Parameters

Builder $query
array $where

Return Value

string

protected string whereIn(Builder $query, array $where)

Compile a "where in" clause.

Parameters

Builder $query
array $where

Return Value

string

protected string whereNotIn(Builder $query, array $where)

Compile a "where not in" clause.

Parameters

Builder $query
array $where

Return Value

string

protected string whereNotInRaw(Builder $query, array $where)

Compile a "where not in raw" clause.

For safety, whereIntegerInRaw ensures this method is only used with integer values.

Parameters

Builder $query
array $where

Return Value

string

protected string whereInRaw(Builder $query, array $where)

Compile a "where in raw" clause.

For safety, whereIntegerInRaw ensures this method is only used with integer values.

Parameters

Builder $query
array $where

Return Value

string

protected string whereNull(Builder $query, array $where)

Compile a "where null" clause.

Parameters

Builder $query
array $where

Return Value

string

protected string whereNotNull(Builder $query, array $where)

Compile a "where not null" clause.

Parameters

Builder $query
array $where

Return Value

string

protected string whereBetween(Builder $query, array $where)

Compile a "between" where clause.

Parameters

Builder $query
array $where

Return Value

string

protected string whereBetweenColumns(Builder $query, array $where)

Compile a "between" where clause.

Parameters

Builder $query
array $where

Return Value

string

protected string whereDate(Builder $query, array $where)

Compile a "where date" clause.

Parameters

Builder $query
array $where

Return Value

string

protected string whereTime(Builder $query, array $where)

Compile a "where time" clause.

Parameters

Builder $query
array $where

Return Value

string

protected string whereDay(Builder $query, array $where)

Compile a "where day" clause.

Parameters

Builder $query
array $where

Return Value

string

protected string whereMonth(Builder $query, array $where)

Compile a "where month" clause.

Parameters

Builder $query
array $where

Return Value

string

protected string whereYear(Builder $query, array $where)

Compile a "where year" clause.

Parameters

Builder $query
array $where

Return Value

string

protected string dateBasedWhere(string $type, Builder $query, array $where)

Compile a date based where clause.

Parameters

string $type
Builder $query
array $where

Return Value

string

protected string whereColumn(Builder $query, array $where)

Compile a where clause comparing two columns.

Parameters

Builder $query
array $where

Return Value

string

protected string whereNested(Builder $query, array $where)

Compile a nested where clause.

Parameters

Builder $query
array $where

Return Value

string

protected string whereSub(Builder $query, array $where)

Compile a where condition with a sub-select.

Parameters

Builder $query
array $where

Return Value

string

protected string whereExists(Builder $query, array $where)

Compile a where exists clause.

Parameters

Builder $query
array $where

Return Value

string

protected string whereNotExists(Builder $query, array $where)

Compile a where exists clause.

Parameters

Builder $query
array $where

Return Value

string

protected string whereRowValues(Builder $query, array $where)

Compile a where row values condition.

Parameters

Builder $query
array $where

Return Value

string

protected string whereJsonBoolean(Builder $query, array $where)

Compile a "where JSON boolean" clause.

Parameters

Builder $query
array $where

Return Value

string

protected string whereJsonContains(Builder $query, array $where)

Compile a "where JSON contains" clause.

Parameters

Builder $query
array $where

Return Value

string

protected string compileJsonContains(string $column, string $value)

Compile a "JSON contains" statement into SQL.

Parameters

string $column
string $value

Return Value

string

Exceptions

RuntimeException

protected string whereJsonOverlaps(Builder $query, array $where)

Compile a "where JSON overlaps" clause.

Parameters

Builder $query
array $where

Return Value

string

protected string compileJsonOverlaps(string $column, string $value)

Compile a "JSON overlaps" statement into SQL.

Parameters

string $column
string $value

Return Value

string

Exceptions

RuntimeException

string prepareBindingForJsonContains(mixed $binding)

Prepare the binding for a "JSON contains" statement.

Parameters

mixed $binding

Return Value

string

protected string whereJsonContainsKey(Builder $query, array $where)

Compile a "where JSON contains key" clause.

Parameters

Builder $query
array $where

Return Value

string

protected string compileJsonContainsKey(string $column)

Compile a "JSON contains key" statement into SQL.

Parameters

string $column

Return Value

string

Exceptions

RuntimeException

protected string whereJsonLength(Builder $query, array $where)

Compile a "where JSON length" clause.

Parameters

Builder $query
array $where

Return Value

string

protected string compileJsonLength(string $column, string $operator, string $value)

Compile a "JSON length" statement into SQL.

Parameters

string $column
string $operator
string $value

Return Value

string

Exceptions

RuntimeException

string compileJsonValueCast(string $value)

Compile a "JSON value cast" statement into SQL.

Parameters

string $value

Return Value

string

string whereFullText(Builder $query, array $where)

Compile a "where fulltext" clause.

Parameters

Builder $query
array $where

Return Value

string

string whereExpression(Builder $query, array $where)

Compile a clause based on an expression.

Parameters

Builder $query
array $where

Return Value

string

protected string compileGroups(Builder $query, array $groups)

Compile the "group by" portions of the query.

Parameters

Builder $query
array $groups

Return Value

string

protected string compileHavings(Builder $query)

Compile the "having" portions of the query.

Parameters

Builder $query

Return Value

string

protected string compileHaving(array $having)

Compile a single having clause.

Parameters

array $having

Return Value

string

protected string compileBasicHaving(array $having)

Compile a basic having clause.

Parameters

array $having

Return Value

string

protected string compileHavingBetween(array $having)

Compile a "between" having clause.

Parameters

array $having

Return Value

string

protected string compileHavingNull(array $having)

Compile a having null clause.

Parameters

array $having

Return Value

string

protected string compileHavingNotNull(array $having)

Compile a having not null clause.

Parameters

array $having

Return Value

string

protected string compileHavingBit(array $having)

Compile a having clause involving a bit operator.

Parameters

array $having

Return Value

string

protected string compileHavingExpression(array $having)

Compile a having clause involving an expression.

Parameters

array $having

Return Value

string

protected string compileNestedHavings(array $having)

Compile a nested having clause.

Parameters

array $having

Return Value

string

protected string compileOrders(Builder $query, array $orders)

Compile the "order by" portions of the query.

Parameters

Builder $query
array $orders

Return Value

string

protected array compileOrdersToArray(Builder $query, array $orders)

Compile the query orders to an array.

Parameters

Builder $query
array $orders

Return Value

array

string compileRandom(string|int $seed)

Compile the random statement into SQL.

Parameters

string|int $seed

Return Value

string

protected string compileLimit(Builder $query, int $limit)

Compile the "limit" portions of the query.

Parameters

Builder $query
int $limit

Return Value

string

protected string compileGroupLimit(Builder $query)

Compile a group limit clause.

Parameters

Builder $query

Return Value

string

protected string compileRowNumber(string $partition, string $orders)

Compile a row number clause.

Parameters

string $partition
string $orders

Return Value

string

protected string compileOffset(Builder $query, int $offset)

Compile the "offset" portions of the query.

Parameters

Builder $query
int $offset

Return Value

string

protected string compileUnions(Builder $query)

Compile the "union" queries attached to the main query.

Parameters

Builder $query

Return Value

string

protected string compileUnion(array $union)

Compile a single union statement.

Parameters

array $union

Return Value

string

protected string wrapUnion(string $sql)

Wrap a union subquery in parentheses.

Parameters

string $sql

Return Value

string

protected string compileUnionAggregate(Builder $query)

Compile a union aggregate query into SQL.

Parameters

Builder $query

Return Value

string

string compileExists(Builder $query)

Compile an exists statement into SQL.

Parameters

Builder $query

Return Value

string

string compileInsert(Builder $query, array $values)

Compile an insert statement into SQL.

Parameters

Builder $query
array $values

Return Value

string

string compileInsertOrIgnore(Builder $query, array $values)

Compile an insert ignore statement into SQL.

Parameters

Builder $query
array $values

Return Value

string

Exceptions

RuntimeException

string compileInsertGetId(Builder $query, array $values, string $sequence)

Compile an insert and get ID statement into SQL.

Parameters

Builder $query
array $values
string $sequence

Return Value

string

string compileInsertUsing(Builder $query, array $columns, string $sql)

Compile an insert statement using a subquery into SQL.

Parameters

Builder $query
array $columns
string $sql

Return Value

string

string compileInsertOrIgnoreUsing(Builder $query, array $columns, string $sql)

Compile an insert ignore statement using a subquery into SQL.

Parameters

Builder $query
array $columns
string $sql

Return Value

string

Exceptions

RuntimeException

string compileUpdate(Builder $query, array $values)

Compile an update statement into SQL.

Parameters

Builder $query
array $values

Return Value

string

protected string compileUpdateColumns(Builder $query, array $values)

Compile the columns for an update statement.

Parameters

Builder $query
array $values

Return Value

string

protected string compileUpdateWithoutJoins(Builder $query, string $table, string $columns, string $where)

Compile an update statement without joins into SQL.

Parameters

Builder $query
string $table
string $columns
string $where

Return Value

string

protected string compileUpdateWithJoins(Builder $query, string $table, string $columns, string $where)

Compile an update statement with joins into SQL.

Parameters

Builder $query
string $table
string $columns
string $where

Return Value

string

string compileUpsert(Builder $query, array $values, array $uniqueBy, array $update)

Compile an "upsert" statement into SQL.

Parameters

Builder $query
array $values
array $uniqueBy
array $update

Return Value

string

Exceptions

RuntimeException

array prepareBindingsForUpdate(array $bindings, array $values)

Prepare the bindings for an update statement.

Parameters

array $bindings
array $values

Return Value

array

string compileDelete(Builder $query)

Compile a delete statement into SQL.

Parameters

Builder $query

Return Value

string

protected string compileDeleteWithoutJoins(Builder $query, string $table, string $where)

Compile a delete statement without joins into SQL.

Parameters

Builder $query
string $table
string $where

Return Value

string

protected string compileDeleteWithJoins(Builder $query, string $table, string $where)

Compile a delete statement with joins into SQL.

Parameters

Builder $query
string $table
string $where

Return Value

string

array prepareBindingsForDelete(array $bindings)

Prepare the bindings for a delete statement.

Parameters

array $bindings

Return Value

array

array compileTruncate(Builder $query)

Compile a truncate table statement into SQL.

Parameters

Builder $query

Return Value

array

protected string compileLock(Builder $query, bool|string $value)

Compile the lock into SQL.

Parameters

Builder $query
bool|string $value

Return Value

string

string|null compileThreadCount()

Compile a query to get the number of open connections for a database.

Return Value

string|null

bool supportsSavepoints()

Determine if the grammar supports savepoints.

Return Value

bool

string compileSavepoint(string $name)

Compile the SQL statement to define a savepoint.

Parameters

string $name

Return Value

string

string compileSavepointRollBack(string $name)

Compile the SQL statement to execute a savepoint rollback.

Parameters

string $name

Return Value

string

protected string wrapJsonBooleanSelector(string $value)

Wrap the given JSON selector for boolean values.

Parameters

string $value

Return Value

string

protected string wrapJsonBooleanValue(string $value)

Wrap the given JSON boolean value.

Parameters

string $value

Return Value

string

protected string concatenate(array $segments)

Concatenate an array of segments, removing empties.

Parameters

array $segments

Return Value

string

protected string removeLeadingBoolean(string $value)

Remove the leading boolean from a statement.

Parameters

string $value

Return Value

string

string substituteBindingsIntoRawSql(string $sql, array $bindings)

Substitute the given bindings into the given raw SQL query.

Parameters

string $sql
array $bindings

Return Value

string

array getOperators()

Get the grammar specific operators.

Return Value

array

array getBitwiseOperators()

Get the grammar specific bitwise operators.

Return Value

array