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

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.

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
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.

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
compileFulltext(Blueprint $blueprint, Fluent $command)

Compile a fulltext index key command.

string
compileDropFullText(Blueprint $blueprint, Fluent $command)

Compile a drop fulltext index command.

string
compileForeign(Blueprint $blueprint, Fluent $command)

Compile a foreign key command.

array
getColumns(Blueprint $blueprint)

Compile the blueprint's added column definitions.

string
getType(Fluent $column)

Get the SQL for the column data type.

void
typeComputed(Fluent $column)

Create the column definition for a generated, computed column type.

string
addModifiers(string $sql, Blueprint $blueprint, Fluent $column)

Add the column modifiers to the definition.

Fluent|null
getCommandByName(Blueprint $blueprint, string $name)

Get the primary key command if it exists on the blueprint.

array
getCommandsByName(Blueprint $blueprint, string $name)

Get all of the commands with a given name.

array
prefixArray(string $prefix, array $values)

Add a prefix to an array of values.

string
getDefaultValue(mixed $value)

Format a value so that it can be used in "default" clauses.

TableDiff
getDoctrineTableDiff(Blueprint $blueprint, AbstractSchemaManager $schema)

Create an empty Doctrine DBAL TableDiff from the Blueprint.

array
getFluentCommands()

Get the fluent commands for the grammar.

bool
supportsSchemaTransactions()

Check if this Grammar supports schema changes wrapped in a transaction.

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, bool $prefixAlias = false)

Wrap a value in keyword identifiers.

Parameters

Expression|string $value
bool $prefixAlias

Return Value

string

protected string wrapAliasedValue(string $value, bool $prefixAlias = false)

Wrap a value that has an alias.

Parameters

string $value
bool $prefixAlias

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

void compileCreateDatabase(string $name, Connection $connection)

Compile a create database command.

Parameters

string $name
Connection $connection

Return Value

void

Exceptions

LogicException

void compileDropDatabaseIfExists(string $name)

Compile a drop database if exists command.

Parameters

string $name

Return Value

void

Exceptions

LogicException

array|string compileRenameColumn(Blueprint $blueprint, Fluent $command, Connection $connection)

Compile a rename column command.

Parameters

Blueprint $blueprint
Fluent $command
Connection $connection

Return Value

array|string

array|string compileChange(Blueprint $blueprint, Fluent $command, Connection $connection)

Compile a change column command into a series of SQL statements.

Parameters

Blueprint $blueprint
Fluent $command
Connection $connection

Return Value

array|string

Exceptions

RuntimeException

string compileFulltext(Blueprint $blueprint, Fluent $command)

Compile a fulltext index key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

Exceptions

RuntimeException

string compileDropFullText(Blueprint $blueprint, Fluent $command)

Compile a drop fulltext index command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

Exceptions

RuntimeException

string compileForeign(Blueprint $blueprint, Fluent $command)

Compile a foreign key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

protected array getColumns(Blueprint $blueprint)

Compile the blueprint's added column definitions.

Parameters

Blueprint $blueprint

Return Value

array

protected string getType(Fluent $column)

Get the SQL for the column data type.

Parameters

Fluent $column

Return Value

string

protected void typeComputed(Fluent $column)

Create the column definition for a generated, computed column type.

Parameters

Fluent $column

Return Value

void

Exceptions

RuntimeException

protected string addModifiers(string $sql, Blueprint $blueprint, Fluent $column)

Add the column modifiers to the definition.

Parameters

string $sql
Blueprint $blueprint
Fluent $column

Return Value

string

protected Fluent|null getCommandByName(Blueprint $blueprint, string $name)

Get the primary key command if it exists on the blueprint.

Parameters

Blueprint $blueprint
string $name

Return Value

Fluent|null

protected array getCommandsByName(Blueprint $blueprint, string $name)

Get all of the commands with a given name.

Parameters

Blueprint $blueprint
string $name

Return Value

array

array prefixArray(string $prefix, array $values)

Add a prefix to an array of values.

Parameters

string $prefix
array $values

Return Value

array

protected string getDefaultValue(mixed $value)

Format a value so that it can be used in "default" clauses.

Parameters

mixed $value

Return Value

string

TableDiff getDoctrineTableDiff(Blueprint $blueprint, AbstractSchemaManager $schema)

Create an empty Doctrine DBAL TableDiff from the Blueprint.

Parameters

Blueprint $blueprint
AbstractSchemaManager $schema

Return Value

TableDiff

array getFluentCommands()

Get the fluent commands for the grammar.

Return Value

array

bool supportsSchemaTransactions()

Check if this Grammar supports schema changes wrapped in a transaction.

Return Value

bool