With
extends Statement
in package
Class With.
Tags
Table of Contents
- OPT_RECURSIVE = 'RECURSIVE'
- $database : Database
- $sql : array<string|int, mixed>
- SQL clauses and parts.
- __construct() : mixed
- Statement constructor.
- __toString() : string
- options() : static
- Sets the statement options.
- reference() : static
- Adds a table reference.
- reset() : static
- Resets SQL clauses and parts.
- run() : Result
- Runs the WITH statement.
- select() : static
- Sets the SELECT statement part.
- sql() : string
- Renders the WITH statement.
- hasOptions() : bool
- Tells if the statement has options set.
- renderAliasedIdentifier() : string
- Renders a column part with an optional alias name, AS clause.
- renderAssignment() : string
- Renders an assignment part.
- renderIdentifier() : string
- Renders a column part.
- renderLimit() : string|null
- Renders the LIMIT clause.
- renderOptions() : string|null
- renderReference() : string
- renderSelect() : string
- renderValue() : float|int|string
- Renders a subquery or quote a value.
- setLimit() : static
- Sets the LIMIT clause.
- subquery() : string
- Returns an SQL part between parentheses.
- renderAsSelect() : string
Constants
OPT_RECURSIVE
public
string
OPT_RECURSIVE
= 'RECURSIVE'
Tags
Properties
$database
protected
Database
$database
$sql
SQL clauses and parts.
protected
array<string|int, mixed>
$sql
= []
Methods
__construct()
Statement constructor.
public
__construct(Database $database) : mixed
Parameters
- $database : Database
Return values
mixed —__toString()
public
__toString() : string
Return values
string —options()
Sets the statement options.
public
options(string $option, string ...$options) : static
Parameters
- $option : string
-
One of the OPT_* constants
- $options : string
-
Each option value must be one of the OPT_* constants
Return values
static —reference()
Adds a table reference.
public
reference(Closure|string $table, Closure $alias) : static
Parameters
- $table : Closure|string
- $alias : Closure
Tags
Return values
static —reset()
Resets SQL clauses and parts.
public
reset([string|null $sql = null ]) : static
Parameters
- $sql : string|null = null
-
A part name or null to reset all
Tags
Return values
static —run()
Runs the WITH statement.
public
run() : Result
Return values
Result —select()
Sets the SELECT statement part.
public
select(Closure $select) : static
Parameters
- $select : Closure
Return values
static —sql()
Renders the WITH statement.
public
sql() : string
Return values
string —hasOptions()
Tells if the statement has options set.
protected
hasOptions() : bool
Return values
bool —renderAliasedIdentifier()
Renders a column part with an optional alias name, AS clause.
protected
renderAliasedIdentifier(array<string, \Closure|string>|Closure|string $column) : string
Parameters
- $column : array<string, \Closure|string>|Closure|string
-
The column name, a subquery or an array where the index is the alias and the value is the column/subquery
Return values
string —renderAssignment()
Renders an assignment part.
protected
renderAssignment(string $identifier, Closure|float|int|string|null $expression) : string
Parameters
- $identifier : string
-
Identifier/column name
- $expression : Closure|float|int|string|null
-
Expression/value
Tags
Return values
string —renderIdentifier()
Renders a column part.
protected
renderIdentifier(Closure|string $column) : string
Parameters
- $column : Closure|string
-
The column name or a subquery
Return values
string —renderLimit()
Renders the LIMIT clause.
protected
renderLimit() : string|null
Return values
string|null —renderOptions()
protected
renderOptions() : string|null
Return values
string|null —renderReference()
protected
renderReference() : string
Return values
string —renderSelect()
protected
renderSelect() : string
Return values
string —renderValue()
Renders a subquery or quote a value.
protected
renderValue(Closure|float|int|string|null $value) : float|int|string
Parameters
- $value : Closure|float|int|string|null
-
A Closure for subquery, other types to quote
Return values
float|int|string —setLimit()
Sets the LIMIT clause.
protected
setLimit(int $limit[, int|null $offset = null ]) : static
Parameters
- $limit : int
- $offset : int|null = null
Tags
Return values
static —subquery()
Returns an SQL part between parentheses.
protected
subquery(Closure $subquery) : string
Parameters
- $subquery : Closure
-
A Closure having the current Manipulation instance as first argument. The returned value must be scalar
Tags
Return values
string —renderAsSelect()
private
renderAsSelect(Closure $subquery) : string
Parameters
- $subquery : Closure