final class Condition in Entity API 8
Represents a single query access condition.
Hierarchy
- class \Drupal\entity\QueryAccess\Condition
Expanded class hierarchy of Condition
5 files declare their use of Condition
- ConditionGroupTest.php in tests/src/ Kernel/ QueryAccess/ ConditionGroupTest.php 
- ConditionTest.php in tests/src/ Unit/ QueryAccess/ ConditionTest.php 
- entity.module in ./entity.module 
- Provides expanded entity APIs.
- QueryAccessHandlerTest.php in tests/src/ Kernel/ QueryAccess/ QueryAccessHandlerTest.php 
- UncacheableQueryAccessHandlerTest.php in tests/src/ Kernel/ QueryAccess/ UncacheableQueryAccessHandlerTest.php 
File
- src/QueryAccess/ Condition.php, line 8 
Namespace
Drupal\entity\QueryAccessView source
final class Condition {
  /**
   * The supported operators.
   *
   * @var string[]
   */
  protected static $supportedOperators = [
    '=',
    '<>',
    '<',
    '<=',
    '>',
    '>=',
    'BETWEEN',
    'NOT BETWEEN',
    'IN',
    'NOT IN',
    'IS NULL',
    'IS NOT NULL',
  ];
  /**
   * The field.
   *
   * @var string
   */
  protected $field;
  /**
   * The value.
   *
   * @var mixed
   */
  protected $value;
  /**
   * The operator.
   *
   * @var string
   */
  protected $operator;
  /**
   * Constructs a new Condition object.
   *
   * @param string $field
   *   The field, with an optional column name. E.g: 'uid', 'address.locality'.
   * @param mixed $value
   *   The value.
   * @param string $operator
   *   The operator.
   *   Possible values: =, <>, <, <=, >, >=, BETWEEN, NOT BETWEEN,
   *                   IN, NOT IN, IS NULL, IS NOT NULL.
   */
  public function __construct($field, $value, $operator = NULL) {
    // Provide a default based on the data type of the value.
    if (!isset($operator)) {
      $operator = is_array($value) ? 'IN' : '=';
    }
    // Validate the selected operator.
    if (!in_array($operator, self::$supportedOperators)) {
      throw new \InvalidArgumentException(sprintf('Unrecognized operator "%s".', $operator));
    }
    $this->field = $field;
    $this->value = $value;
    $this->operator = $operator;
  }
  /**
   * {@inheritdoc}
   */
  public function getField() {
    return $this->field;
  }
  /**
   * {@inheritdoc}
   */
  public function getValue() {
    return $this->value;
  }
  /**
   * {@inheritdoc}
   */
  public function getOperator() {
    return $this->operator;
  }
  /**
   * Gets the string representation of the condition.
   *
   * Used for debugging purposes.
   *
   * @return string
   *   The string representation of the condition.
   */
  public function __toString() {
    if (in_array($this->operator, [
      'IS NULL',
      'IS NOT NULL',
    ])) {
      return "{$this->field} {$this->operator}";
    }
    else {
      if (is_array($this->value)) {
        $value = "['" . implode("', '", $this->value) . "']";
      }
      else {
        $value = "'" . $this->value . "'";
      }
      return "{$this->field} {$this->operator} {$value}";
    }
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| Condition:: | protected | property | The field. | |
| Condition:: | protected | property | The operator. | |
| Condition:: | protected static | property | The supported operators. | |
| Condition:: | protected | property | The value. | |
| Condition:: | public | function | ||
| Condition:: | public | function | ||
| Condition:: | public | function | ||
| Condition:: | public | function | Constructs a new Condition object. | |
| Condition:: | public | function | Gets the string representation of the condition. | 
