Grammar
class Grammar extends Grammar (View source)
Traits
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
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Wrap a value that has an alias.
Convert an array of column names into a delimited string.
Get the appropriate query parameter place-holder for a value.
Format the where clause statements into one string.
Compile a "JSON contains" statement into SQL.
Prepare the binding for a "JSON contains" statement.
Compile a "JSON length" statement into SQL.
Compile a single having clause.
Compile a basic having clause.
Compile a "between" having clause.
Compile the random statement into SQL.
Compile a single union statement.
Wrap a union subquery in parentheses.
Compile an insert and get ID statement into SQL.
Compile an insert statement using a subquery into SQL.
Compile an update statement without joins into SQL.
Compile an update statement with joins into SQL.
Prepare the bindings for an update statement.
Compile a delete statement without joins into SQL.
Compile a delete statement with joins into SQL.
Prepare the bindings for a delete statement.
Determine if the grammar supports savepoints.
Compile the SQL statement to define a savepoint.
Compile the SQL statement to execute a savepoint rollback.
Wrap the given JSON selector.
Wrap the given JSON selector for boolean values.
Wrap the given JSON boolean value.
Split the given JSON selector into the field and the optional path and wrap them separately.
Wrap the given JSON path.
Determine if the given string is a JSON selector.
Concatenate an array of segments, removing empties.
Remove the leading boolean from a statement.
Get the grammar specific operators.
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            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
    whereNotInRaw(Builder $query, array $where)
        
    
    Compile a "where not in raw" clause.
For safety, whereIntegerInRaw ensures this method is only used with integer values.
        
                    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.
        
                    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
    whereJsonBoolean(Builder $query, array $where)
        
    
    Compile a "where JSON boolean" clause.
        
                    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
    compileHavingBetween(array $having)
        
    
    Compile a "between" 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.
        
                    protected        string
    wrapUnion(string $sql)
        
    
    Wrap a union subquery in parentheses.
        
                    protected        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
    compileUpdate(Builder $query, array $values)
        
    
    Compile an update statement into SQL.
        
                    protected        string
    compileUpdateColumns(Builder $query, array $values)
        
    
    Compile the columns for an update statement.
        
                    protected        string
    compileUpdateWithoutJoins(Builder $query, string $table, string $columns, string $where)
        
    
    Compile an update statement without joins into SQL.
        
                    protected        string
    compileUpdateWithJoins(Builder $query, string $table, string $columns, string $where)
        
    
    Compile an update statement with joins 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.
        
                    protected        string
    compileDeleteWithoutJoins(Builder $query, string $table, string $where)
        
    
    Compile a delete statement without joins into SQL.
        
                    protected        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.
        
                    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        string
    wrapJsonBooleanSelector(string $value)
        
    
    Wrap the given JSON selector for boolean values.
        
                    protected        string
    wrapJsonBooleanValue(string $value)
        
    
    Wrap the given JSON boolean value.
        
                    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        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.