SqlServerGrammar
class SqlServerGrammar 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[] | $modifiers | The possible column modifiers.  | 
                |
| protected bool | $transactions | If this Grammar supports schema changes wrapped in a transaction.  | 
                |
| protected string[] | $fluentCommands | The commands to be executed outside of create or alter command.  | 
                |
| protected string[] | $serials | The columns available as serials.  | 
                
Methods
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Wrap a table in keyword identifiers.
Wrap a table that has an alias.
Convert an array of column names into a delimited string.
Get the appropriate query parameter place-holder for a value.
Quote the given string literal.
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 the query to determine the schemas.
Compile the query to determine if the given table exists.
Compile the query to determine the tables.
Compile the query to determine the views.
Compile the query to determine the user-defined types.
Compile the query to determine the columns.
Compile the query to determine the indexes.
Compile the query to determine the foreign keys.
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.
Check if this Grammar supports schema changes wrapped in a transaction.
Compile the query to compare the schema.
Compile a drop table (if exists) command.
Compile the SQL needed to drop all tables.
Compile a drop default constraint command.
Compile a drop spatial index command.
Compile the command to enable foreign key constraints.
Compile the command to disable foreign key constraints.
Compile the command to drop all foreign keys.
Compile the command to drop all views.
Get the SQL for an auto-increment column modifier.
Get the SQL for a generated stored column modifier.
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.
        
                            
    __construct(Connection $connection)
        
    
    Create a new grammar instance.
        
                            string[]
    wrapArray(array $values)
        
    
    Wrap an array of values.
        
                            string
    wrapTable(Expression|string $table, string|null $prefix = null)
        
    
    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, string|null $prefix = null)
        
    
    Wrap a table that has an alias.
        
                    protected        string
    wrapSegments(list<string> $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|string[] $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()
        deprecated
    
    deprecated
Get the grammar's table prefix.
        
                            $this
    setTablePrefix(string $prefix)
        deprecated
    
    deprecated
Set the grammar's table prefix.
        
                    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.
        
                            string
    compileCreateDatabase(string $name)
        
    
    Compile a create database command.
        
                            string
    compileDropDatabaseIfExists(string $name)
        
    
    Compile a drop database if exists command.
        
                            string
    compileSchemas()
        
    
    Compile the query to determine the schemas.
        
                            string|null
    compileTableExists(string|null $schema, string $table)
        
    
    Compile the query to determine if the given table exists.
        
                            string
    compileTables(string|string[]|null $schema)
        
    
    Compile the query to determine the tables.
        
                            string
    compileViews(string|string[]|null $schema)
        
    
    Compile the query to determine the views.
        
                            string
    compileTypes(string|string[]|null $schema)
        
    
    Compile the query to determine the user-defined types.
        
                            string
    compileColumns(string|null $schema, string $table)
        
    
    Compile the query to determine the columns.
        
                            string
    compileIndexes(string|null $schema, string $table)
        
    
    Compile the query to determine the indexes.
        
                            string
    compileForeignKeys(string|null $schema, string $table)
        
    
    Compile the query to determine the foreign keys.
        
                            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
    typeRaw(Fluent $column)
        
    
    Create the column definition for a raw column 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
        
                            string[]
    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.
        
                    protected        string
    compileSchemaWhereClause(string|string[]|null $schema, string $column)
        
    
    Compile the query to compare the schema.
        
                            string
    compileSpatialIndex(Blueprint $blueprint, Fluent $command)
        
    
    Compile a spatial index key command.
        
                            string
    compileDropIfExists(Blueprint $blueprint, Fluent $command)
        
    
    Compile a drop table (if exists) command.
        
                            string
    compileDropAllTables()
        
    
    Compile the SQL needed to drop all tables.
        
                            string
    compileDropDefaultConstraint(Blueprint $blueprint, Fluent $command)
        
    
    Compile a drop default constraint command.
        
                            string
    compileDropPrimary(Blueprint $blueprint, Fluent $command)
        
    
    Compile a drop primary key command.
        
                            string
    compileDropSpatialIndex(Blueprint $blueprint, Fluent $command)
        
    
    Compile a drop spatial index command.
        
                            string
    compileEnableForeignKeyConstraints()
        
    
    Compile the command to enable foreign key constraints.
        
                            string
    compileDisableForeignKeyConstraints()
        
    
    Compile the command to disable foreign key constraints.
        
                            string
    compileDropAllForeignKeys()
        
    
    Compile the command to drop all foreign keys.
        
                            string
    compileDropAllViews()
        
    
    Compile the command to drop all views.
        
                    protected        string
    typeChar(Fluent $column)
        
    
    Create the column definition for a char type.
        
                    protected        string
    typeString(Fluent $column)
        
    
    Create the column definition for a string type.
        
                    protected        string
    typeTinyText(Fluent $column)
        
    
    Create the column definition for a tiny text type.
        
                    protected        string
    typeText(Fluent $column)
        
    
    Create the column definition for a text type.
        
                    protected        string
    typeMediumText(Fluent $column)
        
    
    Create the column definition for a medium text type.
        
                    protected        string
    typeLongText(Fluent $column)
        
    
    Create the column definition for a long text type.
        
                    protected        string
    typeInteger(Fluent $column)
        
    
    Create the column definition for an integer type.
        
                    protected        string
    typeBigInteger(Fluent $column)
        
    
    Create the column definition for a big integer type.
        
                    protected        string
    typeMediumInteger(Fluent $column)
        
    
    Create the column definition for a medium integer type.
        
                    protected        string
    typeTinyInteger(Fluent $column)
        
    
    Create the column definition for a tiny integer type.
        
                    protected        string
    typeSmallInteger(Fluent $column)
        
    
    Create the column definition for a small integer type.
        
                    protected        string
    typeFloat(Fluent $column)
        
    
    Create the column definition for a float type.
        
                    protected        string
    typeDouble(Fluent $column)
        
    
    Create the column definition for a double type.
        
                    protected        string
    typeDecimal(Fluent $column)
        
    
    Create the column definition for a decimal type.
        
                    protected        string
    typeBoolean(Fluent $column)
        
    
    Create the column definition for a boolean type.
        
                    protected        string
    typeEnum(Fluent $column)
        
    
    Create the column definition for an enumeration type.
        
                    protected        string
    typeJson(Fluent $column)
        
    
    Create the column definition for a json type.
        
                    protected        string
    typeJsonb(Fluent $column)
        
    
    Create the column definition for a jsonb type.
        
                    protected        string
    typeDate(Fluent $column)
        
    
    Create the column definition for a date type.
        
                    protected        string
    typeDateTime(Fluent $column)
        
    
    Create the column definition for a date-time type.
        
                    protected        string
    typeDateTimeTz(Fluent $column)
        
    
    Create the column definition for a date-time (with time zone) type.
        
                    protected        string
    typeTime(Fluent $column)
        
    
    Create the column definition for a time type.
        
                    protected        string
    typeTimeTz(Fluent $column)
        
    
    Create the column definition for a time (with time zone) type.
        
                    protected        string
    typeTimestamp(Fluent $column)
        
    
    Create the column definition for a timestamp type.
        
                    protected        string
    typeTimestampTz(Fluent $column)
        
    
    Create the column definition for a timestamp (with time zone) type.
        
                    protected        string
    typeYear(Fluent $column)
        
    
    Create the column definition for a year type.
        
                    protected        string
    typeBinary(Fluent $column)
        
    
    Create the column definition for a binary type.
        
                    protected        string
    typeUuid(Fluent $column)
        
    
    Create the column definition for a uuid type.
        
                    protected        string
    typeIpAddress(Fluent $column)
        
    
    Create the column definition for an IP address type.
        
                    protected        string
    typeMacAddress(Fluent $column)
        
    
    Create the column definition for a MAC address type.
        
                    protected        string
    typeGeometry(Fluent $column)
        
    
    Create the column definition for a spatial Geometry type.
        
                    protected        string
    typeGeography(Fluent $column)
        
    
    Create the column definition for a spatial Geography type.
        
                    protected        string|null
    modifyCollate(Blueprint $blueprint, Fluent $column)
        
    
    Get the SQL for a collation column modifier.
        
                    protected        string|null
    modifyNullable(Blueprint $blueprint, Fluent $column)
        
    
    Get the SQL for a nullable column modifier.
        
                    protected        string|null
    modifyDefault(Blueprint $blueprint, Fluent $column)
        
    
    Get the SQL for a default column modifier.
        
                    protected        string|null
    modifyIncrement(Blueprint $blueprint, Fluent $column)
        
    
    Get the SQL for an auto-increment column modifier.