protected Condition::mapConditionOperator($operator)
Gets any special processing requirements for the condition operator.
Some condition types require special processing, such as IN, because the value data they pass in is not a simple value. This is a simple overridable lookup function.
Parameters
$operator: The condition operator, such as "IN", "BETWEEN", etc. Case-sensitive.
Return value
array The extra handling directives for the specified operator or an empty array if there are no extra handling directives.
File
- core/lib/Drupal/Core/Database/Query/Condition.php, line 299
Class
- Condition
- Generic class for a series of conditions in a query.
Namespace
Drupal\Core\Database\Query
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | protected function mapConditionOperator( $operator ) { // $specials does not use drupal_static as its value never changes. static $specials = array ( 'BETWEEN' => array ( 'delimiter' => ' AND ' ), 'NOT BETWEEN' => array ( 'delimiter' => ' AND ' ), 'IN' => array ( 'delimiter' => ', ' , 'prefix' => ' (' , 'postfix' => ')' ), 'NOT IN' => array ( 'delimiter' => ', ' , 'prefix' => ' (' , 'postfix' => ')' ), 'EXISTS' => array ( 'prefix' => ' (' , 'postfix' => ')' ), 'NOT EXISTS' => array ( 'prefix' => ' (' , 'postfix' => ')' ), 'IS NULL' => array ( 'use_value' => FALSE), 'IS NOT NULL' => array ( 'use_value' => FALSE), // Use backslash for escaping wildcard characters. 'LIKE' => array ( 'postfix' => " ESCAPE '\\\\'" ), 'NOT LIKE' => array ( 'postfix' => " ESCAPE '\\\\'" ), // These ones are here for performance reasons. '=' => array (), '<' => array (), '>' => array (), '>=' => array (), '<=' => array (), ); if (isset( $specials [ $operator ])) { $return = $specials [ $operator ]; } else { // We need to upper case because PHP index matches are case sensitive but // do not need the more expensive Unicode::strtoupper() because SQL statements are ASCII. $operator = strtoupper ( $operator ); $return = isset( $specials [ $operator ]) ? $specials [ $operator ] : array (); } $return += array ( 'operator' => $operator ); return $return ; } |
Please login to continue.