Compiler
class Compiler
Compiles SQL queries.
Constants
JSON_PATH_SEPARATOR |
JSON path separator. |
Properties
static protected string | $dateFormat | Datetime 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.
Returns a comma-separated list of tables.
Escapes a column name.
Compiles a column name.
Returns a comma-separated list of column names.
Returns a comma-separated list of compiled columns.
Compiles common table expressions.
Compiles set operations.
Returns raw SQL or a paramter placeholder.
Returns a comma-separated list of parameters.
Returns a parameter placeholder.
Returns a comma-separated list of parameter placeholders.
Compiles WHERE conditions.
Compiles a raw WHERE condition.
Compiles date comparison clauses.
Compiles column comparison clauses.
Compiles BETWEEN clauses.
Compiles date range clauses.
Compiles IN clauses.
Compiles IS NULL clauses.
Compiles EXISTS clauses.
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 69
__construct(Query $query)
Constructor.
at line 80
static string
setDateFormat(string $dateFormat)
Sets the date format.
at line 90
static string
getDateFormat()
Gets the date format.
at line 101
protected string
raw(Raw $raw)
Compiles a raw SQL statement.
at line 119
protected string
subselect(Query $query)
Compiles a subselect and merges the parameters.
at line 135
protected string
subquery(Subquery $subquery, bool $enclose = true)
Compiles a subquery.
at line 169
string
escapeIdentifier(string $identifier)
Returns an escaped identifier.
at line 180
string
escapeIdentifiers(array $identifiers)
Returns an array of escaped identifiers.
at line 196
protected bool
hasJsonPath(string $string)
Does the string have a JSON path?
at line 208
protected string
buildJsonGet(string $column, array $segments)
Builds a JSON value getter.
at line 221
protected string
buildJsonSet(string $column, array $segments, string $param)
Builds a JSON value setter.
at line 232
string
escapeTableName(string $table)
Escapes a table name.
at line 276
string
tables(array $tables)
Returns a comma-separated list of tables.
at line 294
string
escapeColumnName(string $column)
Escapes a column name.
at line 319
string
columnName(string $column)
Compiles a column name.
at line 339
string
columnNames(array $columns)
Returns a comma-separated list of column names.
at line 385
string
columns(array $columns, bool $allowAlias = false)
Returns a comma-separated list of compiled columns.
at line 403
protected string
commonTableExpressions(array $commonTableExpressions)
Compiles common table expressions.
at line 435
protected string
setOperations(array $setOperations)
Compiles set operations.
at line 459
protected string
param(mixed $param, bool $enclose = true)
Returns raw SQL or a paramter placeholder.
at line 488
protected string
params(array $params, bool $enclose = true)
Returns a comma-separated list of parameters.
at line 506
protected string
simpleParam(mixed $param)
Returns a parameter placeholder.
at line 519
protected string
simpleParams(array $params)
Returns a comma-separated list of parameter placeholders.
at line 553
protected string
where(array $where)
Compiles WHERE conditions.
at line 573
protected string
whereRaw(array $where)
Compiles a raw WHERE condition.
at line 584
protected string
whereDate(array $where)
Compiles date comparison clauses.
at line 595
protected string
whereColumn(array $where)
Compiles column comparison clauses.
at line 615
protected string
between(array $where)
Compiles BETWEEN clauses.
at line 626
protected string
betweenDate(array $where)
Compiles date range clauses.
at line 637
protected string
in(array $where)
Compiles IN clauses.
at line 650
protected string
null(array $where)
Compiles IS NULL clauses.
at line 661
protected string
exists(array $where)
Compiles EXISTS clauses.
at line 672
protected string
nestedWhere(array $where)
Compiles nested WHERE conditions.
at line 683
protected string
whereConditions(array $wheres)
Compiles WHERE conditions.
at line 705
protected string
wheres(array $wheres)
Compiles WHERE clauses.
at line 721
protected string
joinCondition(array $condition)
Compiles a JOIN condition.
at line 732
protected string
nestedJoinCondition(array $condition)
Compiles nested JOIN condition.
at line 745
protected string
joinConditions(Join $join)
Compiles JOIN conditions.
at line 767
protected string
joins(array $joins)
Compiles JOIN clauses.
at line 790
protected string
groupings(array $groupings)
Compiles GROUP BY clauses.
at line 801
protected string
orderings(array $orderings)
Compiles ORDER BY clauses.
at line 824
protected string
havingCondictions(array $havings)
Compiles HAVING conditions.
at line 846
protected string
havings(array $havings)
Compiles HAVING clauses.
at line 862
protected string
limit(int|null $limit)
Compiles LIMIT clauses.
at line 873
protected string
offset(int|null $offset)
Compiles OFFSET clauses.
at line 884
protected string
lock(bool|string|null $lock)
Compiles locking clause.
at line 894
array
select()
Compiles a SELECT query.
at line 920
protected string
insertWithValues(array $values)
Returns a INSERT query with values.
at line 935
protected string
insertWithoutValues()
Returns a INSERT query without values.
at line 946
array
insert(array $values = [])
Compiles a INSERT query.
at line 968
protected string
updateColumns(array $columns)
Compiles update columns.
at line 999
array
update(array $values)
Compiles a UPDATE query.
at line 1016
array
delete()
Compiles a DELETE query.