Class BetweenExpression
An expression object that represents a SQL BETWEEN snippet
Property Summary
-
$_field protected
Cake\Database\ExpressionInterface|array|string
The field name or expression to be used in the left hand side of the operator
-
$_from protected
mixed
The first value in the expression
-
$_to protected
mixed
The second value in the expression
-
$_type protected
mixed
The data type for the from and to arguments
Method Summary
-
__clone() public
Do a deep clone of this expression.
-
__construct() public
Constructor
-
_bindValue() protected
Registers a value in the placeholder generator and returns the generated placeholder
-
_castToExpression() protected
Conditionally converts the passed value to an ExpressionInterface object if the type class implements the ExpressionTypeInterface. Otherwise, returns the value unmodified.
-
_requiresToExpressionCasting() protected
Returns an array with the types that require values to be casted to expressions, out of the list of type names passed as parameter.
-
getField() public
Returns the field name
-
setField() public
Sets the field name
-
sql() public
Converts the Node into a SQL string fragment.
-
traverse() public
Iterates over each part of the expression recursively for every level of the expressions tree and executes the callback, passing as first parameter the instance of the expression currently being iterated.
Method Detail
__construct() ¶ public
__construct(Cake\Database\ExpressionInterface|string $field, mixed $from, mixed $to, string|null $type = null)
Constructor
Parameters
-
Cake\Database\ExpressionInterface|string
$field The field name to compare for values inbetween the range.
-
mixed
$from The initial value of the range.
-
mixed
$to The ending value in the comparison range.
-
string|null
$type optional The data type name to bind the values with.
_bindValue() ¶ protected
_bindValue(mixed $value, Cake\Database\ValueBinder $binder, string|null $type): string
Registers a value in the placeholder generator and returns the generated placeholder
Parameters
-
mixed
$value The value to bind
-
Cake\Database\ValueBinder
$binder The value binder to use
-
string|null
$type The type of $value
Returns
string
_castToExpression() ¶ protected
_castToExpression(mixed $value, string|null $type = null): mixed
Conditionally converts the passed value to an ExpressionInterface object if the type class implements the ExpressionTypeInterface. Otherwise, returns the value unmodified.
Parameters
-
mixed
$value The value to convert to ExpressionInterface
-
string|null
$type optional The type name
Returns
mixed
_requiresToExpressionCasting() ¶ protected
_requiresToExpressionCasting(array $types): array
Returns an array with the types that require values to be casted to expressions, out of the list of type names passed as parameter.
Parameters
-
array
$types List of type names
Returns
array
getField() ¶ public
getField(): Cake\Database\ExpressionInterface|array|string
Returns the field name
Returns
Cake\Database\ExpressionInterface|array|string
setField() ¶ public
setField(Cake\Database\ExpressionInterface|array|string $field): void
Sets the field name
Parameters
-
Cake\Database\ExpressionInterface|array|string
$field The field to compare with.
Returns
void
sql() ¶ public
sql(Cake\Database\ValueBinder $binder): string
Converts the Node into a SQL string fragment.
Parameters
-
Cake\Database\ValueBinder
$binder
Returns
string
traverse() ¶ public
traverse(Closure $callback): $this
Iterates over each part of the expression recursively for every level of the expressions tree and executes the callback, passing as first parameter the instance of the expression currently being iterated.
Parameters
-
Closure
$callback
Returns
$this
Property Detail
$_field ¶ protected
The field name or expression to be used in the left hand side of the operator
Type
Cake\Database\ExpressionInterface|array|string