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.
Compiles a table.
Escapes a column name.
Compiles a column name.
Returns a comma-separated list of column names.
Compiles a column.
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 the FROM clause.
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 120
protected string
subquery(Subquery $subquery, bool $enclose = true)
Compiles subquery, merges parameters and returns subquery SQL.
at line 156
string
escapeIdentifier(string $identifier)
Returns an escaped identifier.
at line 167
string
escapeIdentifiers(array $identifiers)
Returns an array of escaped identifiers.
at line 183
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 210
protected string
buildJsonSet(string $column, array $segments, string $param)
Builds a JSON value setter.
at line 221
string
escapeTableName(string $table)
Escapes a table name.
at line 239
string
table(mixed $table)
Compiles a table.
at line 265
string
escapeColumnName(string $column)
Escapes a column name.
at line 290
string
columnName(string $column)
Compiles a column name.
at line 310
string
columnNames(array $columns)
Returns a comma-separated list of column names.
at line 329
string
column(mixed $column, bool $allowAlias = false)
Compiles a column.
at line 356
string
columns(array $columns, bool $allowAlias = false)
Returns a comma-separated list of compiled columns.
at line 374
protected string
commonTableExpressions(array $commonTableExpressions)
Compiles common table expressions.
at line 406
protected string
setOperations(array $setOperations)
Compiles set operations.
at line 430
protected string
param(mixed $param, bool $enclose = true)
Returns raw SQL or a paramter placeholder.
at line 459
protected string
params(array $params, bool $enclose = true)
Returns a comma-separated list of parameters.
at line 477
protected string
simpleParam(mixed $param)
Returns a parameter placeholder.
at line 490
protected string
simpleParams(array $params)
Returns a comma-separated list of parameter placeholders.
at line 508
protected string
from(mixed $table)
Compiles the FROM clause.
at line 519
protected string
where(array $where)
Compiles WHERE conditions.
at line 539
protected string
whereRaw(array $where)
Compiles a raw WHERE condition.
at line 551
protected string
whereDate(array $where)
Compiles date comparison clauses.
at line 562
protected string
whereColumn(array $where)
Compiles column comparison clauses.
at line 582
protected string
between(array $where)
Compiles BETWEEN clauses.
at line 594
protected string
betweenDate(array $where)
Compiles date range clauses.
at line 605
protected string
in(array $where)
Compiles IN clauses.
at line 618
protected string
null(array $where)
Compiles IS NULL clauses.
at line 629
protected string
exists(array $where)
Compiles EXISTS clauses.
at line 640
protected string
nestedWhere(array $where)
Compiles nested WHERE conditions.
at line 651
protected string
whereConditions(array $wheres)
Compiles WHERE conditions.
at line 673
protected string
wheres(array $wheres)
Compiles WHERE clauses.
at line 689
protected string
joinCondition(array $condition)
Compiles a JOIN condition.
at line 700
protected string
nestedJoinCondition(array $condition)
Compiles nested JOIN condition.
at line 713
protected string
joinConditions(Join $join)
Compiles JOIN conditions.
at line 735
protected string
joins(array $joins)
Compiles JOIN clauses.
at line 758
protected string
groupings(array $groupings)
Compiles GROUP BY clauses.
at line 769
protected string
orderings(array $orderings)
Compiles ORDER BY clauses.
at line 792
protected string
havingCondictions(array $havings)
Compiles HAVING conditions.
at line 814
protected string
havings(array $havings)
Compiles HAVING clauses.
at line 830
protected string
limit(int|null $limit)
Compiles LIMIT clauses.
at line 841
protected string
offset(int|null $offset)
Compiles OFFSET clauses.
at line 852
protected string
lock(bool|string|null $lock)
Compiles locking clause.
at line 862
array
select()
Compiles a SELECT query.
at line 888
protected string
insertWithValues(array $values)
Returns a INSERT query with values.
at line 903
protected string
insertWithoutValues()
Returns a INSERT query without values.
at line 914
array
insert(array $values = [])
Compiles a INSERT query.
at line 936
protected string
updateColumns(array $columns)
Compiles update columns.
at line 967
array
update(array $values)
Compiles a UPDATE query.
at line 984
array
delete()
Compiles a DELETE query.