Compiler
class Compiler
Compiles SQL queries.
Constants
JSON_PATH_SEPARATOR |
JSON path separator. |
Properties
static protected string | $dateFormat | Date format. | |
protected Query | $query | Query builder. | |
protected array | $params | Query parameters. |
Methods
Sets the date format.
Gets the date format.
Returns an escaped identifier.
Returns an array of escaped identifiers.
Does the string have a JSON path?
Builds a JSON value getter.
Builds a JSON value setter.
Escapes a table name.
Compiles set operations.
Compiles a table.
Escapes a column name.
Compiles a column name.
Compiles a column.
Returns a comma-separated list of compiled columns.
Compiles the FROM clause.
Returns raw SQL or a paramter placeholder.
Returns a comma-separated list of parameters.
Compiles BETWEEN clauses.
Compiles IN clauses.
Compiles IS NULL clauses.
Compiles EXISTS clauses.
Compiles WHERE conditions.
Compiles a raw WHERE condition.
Compiles nested WHERE conditions.
Compiles WHERE conditions.
Compiles WHERE clauses.
Compiles a JOIN condition.
Compiles nested JOIN condition.
Compiles JOIN clauses.
Compiles GROUP BY clauses.
Compiles ORDER BY clauses.
Compiles HAVING conditions.
Compiles HAVING clauses.
Compiles LIMIT clauses.
Compiles OFFSET clauses.
Compiles locking clause.
Compiles a SELECT query.
Returns a INSERT query with values.
Returns a INSERT query without values.
Compiles a INSERT query.
Compiles update columns.
Compiles a UPDATE query.
Compiles a DELETE query.
Details
at line 70
__construct(Query $query)
Constructor.
at line 81
static string
setDateFormat(string $dateFormat)
Sets the date format.
at line 91
static string
getDateFormat()
Gets the date format.
at line 102
protected string
raw(Raw $raw)
Compiles a raw SQL statement.
at line 121
protected string
subquery(Subquery $subquery, bool $enclose = true)
Compiles subquery, merges parameters and returns subquery SQL.
at line 157
string
escapeIdentifier(string $identifier)
Returns an escaped identifier.
at line 168
array
escapeIdentifiers(array $identifiers)
Returns an array of escaped identifiers.
at line 184
protected bool
hasJsonPath(string $string)
Does the string have a JSON path?
at line 196
protected string
buildJsonGet(string $column, array $segments)
Builds a JSON value getter.
at line 209
protected string
buildJsonSet(string $column, array $segments, string $param)
Builds a JSON value setter.
at line 220
string
escapeTable(string $table)
Escapes a table name.
at line 238
protected string
setOperations(array $setOperations)
Compiles set operations.
at line 261
string
table(mixed $table)
Compiles a table.
at line 287
string
escapeColumn(string $column)
Escapes a column name.
at line 312
protected string
compileColumnName(string $column)
Compiles a column name.
at line 333
string
column(mixed $column, bool $allowAlias = false)
Compiles a column.
at line 360
string
columns(array $columns, bool $allowAlias = false)
Returns a comma-separated list of compiled columns.
at line 378
protected string
from(mixed $table)
Compiles the FROM clause.
at line 390
protected string
param(mixed $param, bool $enclose = true)
Returns raw SQL or a paramter placeholder.
at line 419
protected string
params(array $params, bool $enclose = true)
Returns a comma-separated list of parameters.
at line 437
protected string
between(array $where)
Compiles BETWEEN clauses.
at line 448
protected string
in(array $where)
Compiles IN clauses.
at line 461
protected string
null(array $where)
Compiles IS NULL clauses.
at line 472
protected string
exists(array $where)
Compiles EXISTS clauses.
at line 483
protected string
where(array $where)
Compiles WHERE conditions.
at line 503
protected string
whereRaw(array $where)
Compiles a raw WHERE condition.
at line 514
protected string
nestedWhere(array $where)
Compiles nested WHERE conditions.
at line 525
protected string
whereConditions(array $wheres)
Compiles WHERE conditions.
at line 547
protected string
wheres(array $wheres)
Compiles WHERE clauses.
at line 563
protected string
joinCondition(array $condition)
Compiles a JOIN condition.
at line 574
protected string
nestedJoinCondition(array $condition)
Compiles nested JOIN condition.
at line 587
protected string
joinConditions(Join $join)
Compiles JOIN conditions.
at line 609
protected string
joins(array $joins)
Compiles JOIN clauses.
at line 632
protected string
groupings(array $groupings)
Compiles GROUP BY clauses.
at line 643
protected string
orderings(array $orderings)
Compiles ORDER BY clauses.
at line 666
protected string
havingCondictions(array $havings)
Compiles HAVING conditions.
at line 688
protected string
havings(array $havings)
Compiles HAVING clauses.
at line 704
protected string
limit(int $limit = null)
Compiles LIMIT clauses.
at line 715
protected string
offset(int $offset = null)
Compiles OFFSET clauses.
at line 726
protected string
lock(bool|string|null $lock)
Compiles locking clause.
at line 736
array
select()
Compiles a SELECT query.
at line 761
protected string
insertWithValues(array $values)
Returns a INSERT query with values.
at line 777
protected string
insertWithoutValues()
Returns a INSERT query without values.
at line 788
array
insert(array $values = [])
Compiles a INSERT query.
at line 810
protected string
updateColumns(array $columns)
Compiles update columns.
at line 841
array
update(array $values)
Compiles a UPDATE query.
at line 858
array
delete()
Compiles a DELETE query.