Grammar
abstract 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 string[] | $modifiers | The possible column modifiers. |
|
protected bool | $transactions | If this Grammar supports schema changes wrapped in a transaction. |
|
protected array | $fluentCommands | The commands to be executed outside of create or alter command. |
Methods
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Convert an array of column names into a delimited string.
Get the appropriate query parameter place-holder for a value.
Escapes a value for safe SQL embedding.
Split the given JSON selector into the field and the optional path and wrap them separately.
Wrap the given JSON path.
Wrap the given JSON path segment.
Compile a drop database if exists command.
Compile a rename column command.
Compile a change column command into a series of SQL statements.
Add the column modifiers to the definition.
Get the command with a given name if it exists on the blueprint.
Add a prefix to an array of values.
Format a value so that it can be used in "default" clauses.
Get the fluent commands for the grammar.
Check if this Grammar supports schema changes wrapped in a transaction.
Details
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.
string
wrapTable(Expression|string $table)
Wrap a table in keyword identifiers.
string
wrap(Expression|string $value)
Wrap a value in keyword identifiers.
protected string
wrapAliasedValue(string $value)
Wrap a value that has an alias.
protected string
wrapAliasedTable(string $value)
Wrap a table 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.
protected string
wrapJsonSelector(string $value)
Wrap the given JSON selector.
protected bool
isJsonSelector(string $value)
Determine if the given string is a JSON selector.
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.
string
escape(string|float|int|bool|null $value, bool $binary = false)
Escapes a value for safe SQL embedding.
bool
isExpression(mixed $value)
Determine if the given value is a raw expression.
string|int|float
getValue(Expression|string|int|float $expression)
Transforms expressions to their scalar types.
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.
$this
setConnection(Connection $connection)
Set the grammar's database connection.
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, string $delimiter = '->')
Wrap the given JSON path.
protected string
wrapJsonPathSegment(string $segment)
Wrap the given JSON path segment.
void
compileCreateDatabase(string $name, Connection $connection)
Compile a create database command.
void
compileDropDatabaseIfExists(string $name)
Compile a drop database if exists command.
array|string
compileRenameColumn(Blueprint $blueprint, Fluent $command, Connection $connection)
Compile a rename column command.
array|string
compileChange(Blueprint $blueprint, Fluent $command, Connection $connection)
Compile a change column command into a series of SQL statements.
string
compileDropFullText(Blueprint $blueprint, Fluent $command)
Compile a drop fulltext index command.
string
compileDropForeign(Blueprint $blueprint, Fluent $command)
Compile a drop foreign key command.
protected array
getColumns(Blueprint $blueprint)
Compile the blueprint's added column definitions.
protected string
getColumn(Blueprint $blueprint, ColumnDefinition $column)
Compile the column definition.
protected string
getType(Fluent $column)
Get the SQL for the column data type.
protected void
typeComputed(Fluent $column)
Create the column definition for a generated, computed column type.
protected string
typeVector(Fluent $column)
Create the column definition for a vector type.
protected string
addModifiers(string $sql, Blueprint $blueprint, Fluent $column)
Add the column modifiers to the definition.
protected Fluent|null
getCommandByName(Blueprint $blueprint, string $name)
Get the command with a given name if it exists on the blueprint.
protected array
getCommandsByName(Blueprint $blueprint, string $name)
Get all of the commands with a given name.
protected
hasCommand(Blueprint $blueprint, $name)
No description
array
prefixArray(string $prefix, array $values)
Add a prefix to an array of values.
protected string
getDefaultValue(mixed $value)
Format a value so that it can be used in "default" clauses.
array
getFluentCommands()
Get the fluent commands for the grammar.
bool
supportsSchemaTransactions()
Check if this Grammar supports schema changes wrapped in a transaction.