‪TYPO3CMS  ‪main
TYPO3\CMS\Extbase\Persistence\Generic\Qom\Comparison Class Reference
Inheritance diagram for TYPO3\CMS\Extbase\Persistence\Generic\Qom\Comparison:
TYPO3\CMS\Extbase\Persistence\Generic\Qom\ComparisonInterface TYPO3\CMS\Extbase\Persistence\Generic\Qom\ConstraintInterface

Public Member Functions

 __construct (PropertyValueInterface $operand1, int $operator, $operand2)
 
 getOperand1 ()
 
QueryInterface::OPERATOR_ * getOperator ()
 
mixed getOperand2 ()
 
 collectBoundVariableNames (&$boundVariables)
 

Protected Attributes

PropertyValueInterface $operand1
 
int $operator
 
mixed $operand2
 

Detailed Description

Filters node-tuples based on the outcome of a binary operation.

For any comparison, operand2 always evaluates to a scalar value. In contrast, operand1 may evaluate to an array of values (for example, the value of a multi-valued property), in which case the comparison is separately performed for each element of the array, and the Comparison constraint is satisfied as a whole if the comparison against any element of the array is satisfied.

If operand1 and operand2 evaluate to values of different property types, the value of operand2 is converted to the property type of the value of operand1. If the type conversion fails, the query is invalid.

If operator is not supported for the property type of operand1, the query is invalid.

If operand1 evaluates to null (for example, if the operand evaluates the value of a property which does not exist), the constraint is not satisfied.

The OPERATOR_EQUAL_TO operator is satisfied only if the value of operand1 equals the value of operand2.

The OPERATOR_NOT_EQUAL_TO operator is satisfied unless the value of operand1 equals the value of operand2.

The OPERATOR_LESS_THAN operator is satisfied only if the value of operand1 is ordered before the value of operand2.

The OPERATOR_LESS_THAN_OR_EQUAL_TO operator is satisfied unless the value of operand1 is ordered after the value of operand2.

The OPERATOR_GREATER_THAN operator is satisfied only if the value of operand1 is ordered after the value of operand2.

The OPERATOR_GREATER_THAN_OR_EQUAL_TO operator is satisfied unless the value of operand1 is ordered before the value of operand2.

The OPERATOR_LIKE operator is satisfied only if the value of operand1 matches the pattern specified by the value of operand2, where in the pattern: the character "%" matches zero or more characters, and the character "_" (underscore) matches exactly one character, and the string "\x" matches the character "x", and all other characters match themselves.

only to be used within Extbase, not part of TYPO3 Core API.

Definition at line 67 of file Comparison.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Extbase\Persistence\Generic\Qom\Comparison::__construct ( PropertyValueInterface  $operand1,
int  $operator,
  $operand2 
)

Constructs this Comparison instance

Parameters
QueryInterface::OPERATOR_*‪$operator
mixed$operand2

Definition at line 89 of file Comparison.php.

References TYPO3\CMS\Extbase\Persistence\Generic\Qom\Comparison\$operand1, TYPO3\CMS\Extbase\Persistence\Generic\Qom\Comparison\$operand2, and TYPO3\CMS\Extbase\Persistence\Generic\Qom\Comparison\$operator.

Member Function Documentation

◆ collectBoundVariableNames()

TYPO3\CMS\Extbase\Persistence\Generic\Qom\Comparison::collectBoundVariableNames ( $boundVariables)

Fills an array with the names of all bound variables in the constraints

Parameters
array$boundVariables

Implements TYPO3\CMS\Extbase\Persistence\Generic\Qom\ConstraintInterface.

Definition at line 137 of file Comparison.php.

◆ getOperand1()

TYPO3\CMS\Extbase\Persistence\Generic\Qom\Comparison::getOperand1 ( )

◆ getOperand2()

mixed TYPO3\CMS\Extbase\Persistence\Generic\Qom\Comparison::getOperand2 ( )

◆ getOperator()

Member Data Documentation

◆ $operand1

PropertyValueInterface TYPO3\CMS\Extbase\Persistence\Generic\Qom\Comparison::$operand1
protected

◆ $operand2

mixed TYPO3\CMS\Extbase\Persistence\Generic\Qom\Comparison::$operand2
protected

The type of the second operand will vary depending on the operator.

Todo:
‪Type this as mixed in v13.

Definition at line 81 of file Comparison.php.

Referenced by TYPO3\CMS\Extbase\Persistence\Generic\Qom\Comparison\__construct(), and TYPO3\CMS\Extbase\Persistence\Generic\Qom\Comparison\getOperand2().

◆ $operator

int TYPO3\CMS\Extbase\Persistence\Generic\Qom\Comparison::$operator
protected