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 66
__construct(Query $query)
Constructor.
at line 76
static
setDateFormat(string $dateFormat)
Sets the date format.
at line 86
static string
getDateFormat()
Gets the date format.
at line 97
protected string
raw(Raw $raw)
Compiles a raw SQL statement.
at line 115
protected string
subselect(Query $query)
Compiles a subselect and merges the parameters.
at line 131
protected string
subquery(Subquery $subquery, bool $enclose = true)
Compiles a subquery.
at line 160
string
escapeIdentifier(string $identifier)
Returns an escaped identifier.
at line 171
string
escapeIdentifiers(array $identifiers)
Returns an array of escaped identifiers.
at line 187
protected bool
hasJsonPath(string $string)
Does the string have a JSON path?
at line 199
protected string
buildJsonGet(string $column, array $segments)
Builds a JSON value getter.
at line 212
protected string
buildJsonSet(string $column, array $segments, string $param)
Builds a JSON value setter.
at line 223
string
escapeTableName(string $table)
Escapes a table name.
at line 267
string
tables(array $tables)
Returns a comma-separated list of tables.
at line 285
string
escapeColumnName(string $column)
Escapes a column name.
at line 310
string
columnName(string $column)
Compiles a column name.
at line 330
string
columnNames(array $columns)
Returns a comma-separated list of column names.
at line 376
string
columns(array $columns, bool $allowAlias = false)
Returns a comma-separated list of compiled columns.
at line 394
protected string
commonTableExpressions(array $commonTableExpressions)
Compiles common table expressions.
at line 426
protected string
setOperations(array $setOperations)
Compiles set operations.
at line 450
protected string
param(mixed $param, bool $enclose = true)
Returns raw SQL or a paramter placeholder.
at line 479
protected string
params(array $params, bool $enclose = true)
Returns a comma-separated list of parameters.
at line 497
protected string
simpleParam(mixed $param)
Returns a parameter placeholder.
at line 510
protected string
simpleParams(array $params)
Returns a comma-separated list of parameter placeholders.
at line 544
protected string
where(array $where)
Compiles WHERE conditions.
at line 564
protected string
whereRaw(array $where)
Compiles a raw WHERE condition.
at line 575
protected string
whereDate(array $where)
Compiles date comparison clauses.
at line 586
protected string
whereColumn(array $where)
Compiles column comparison clauses.
at line 606
protected string
between(array $where)
Compiles BETWEEN clauses.
at line 617
protected string
betweenDate(array $where)
Compiles date range clauses.
at line 628
protected string
in(array $where)
Compiles IN clauses.
at line 641
protected string
null(array $where)
Compiles IS NULL clauses.
at line 652
protected string
exists(array $where)
Compiles EXISTS clauses.
at line 663
protected string
nestedWhere(array $where)
Compiles nested WHERE conditions.
at line 674
protected string
whereConditions(array $wheres)
Compiles WHERE conditions.
at line 696
protected string
wheres(array $wheres)
Compiles WHERE clauses.
at line 712
protected string
joinCondition(array $condition)
Compiles a JOIN condition.
at line 723
protected string
nestedJoinCondition(array $condition)
Compiles nested JOIN condition.
at line 736
protected string
joinConditions(Join $join)
Compiles JOIN conditions.
at line 758
protected string
joins(array $joins)
Compiles JOIN clauses.
at line 781
protected string
groupings(array $groupings)
Compiles GROUP BY clauses.
at line 792
protected string
orderings(array $orderings)
Compiles ORDER BY clauses.
at line 815
protected string
havingCondictions(array $havings)
Compiles HAVING conditions.
at line 837
protected string
havings(array $havings)
Compiles HAVING clauses.
at line 853
protected string
limit(int|null $limit)
Compiles LIMIT clauses.
at line 864
protected string
offset(int|null $offset)
Compiles OFFSET clauses.
at line 875
protected string
lock(bool|string|null $lock)
Compiles locking clause.
at line 885
array
select()
Compiles a SELECT query.
at line 911
protected string
insertWithValues(array $values)
Returns a INSERT query with values.
at line 926
protected string
insertWithoutValues()
Returns a INSERT query without values.
at line 937
array
insert(array $values = [])
Compiles a INSERT query.
at line 959
protected string
updateColumns(array $columns)
Compiles update columns.
at line 990
array
update(array $values)
Compiles a UPDATE query.
at line 1007
array
delete()
Compiles a DELETE query.