You are here

class EntityConditionGroup in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/jsonapi/src/Query/EntityConditionGroup.php \Drupal\jsonapi\Query\EntityConditionGroup
  2. 9 core/modules/jsonapi/src/Query/EntityConditionGroup.php \Drupal\jsonapi\Query\EntityConditionGroup

A condition group for the EntityQuery.

@internal JSON:API maintains no PHP API since its API is the HTTP API. This class may change at any time and this will break any dependencies on it.

Hierarchy

Expanded class hierarchy of EntityConditionGroup

See also

https://www.drupal.org/project/drupal/issues/3032787

jsonapi.api.php

2 files declare their use of EntityConditionGroup
EntityConditionGroupTest.php in core/modules/jsonapi/tests/src/Unit/Query/EntityConditionGroupTest.php
TemporaryQueryGuard.php in core/modules/jsonapi/src/Access/TemporaryQueryGuard.php

File

core/modules/jsonapi/src/Query/EntityConditionGroup.php, line 14

Namespace

Drupal\jsonapi\Query
View source
class EntityConditionGroup {

  /**
   * The AND conjunction value.
   *
   * @var array
   */
  protected static $allowedConjunctions = [
    'AND',
    'OR',
  ];

  /**
   * The conjunction.
   *
   * @var string
   */
  protected $conjunction;

  /**
   * The members of the condition group.
   *
   * @var \Drupal\jsonapi\Query\EntityCondition[]
   */
  protected $members;

  /**
   * Constructs a new condition group object.
   *
   * @param string $conjunction
   *   The group conjunction to use.
   * @param array $members
   *   (optional) The group conjunction to use.
   */
  public function __construct($conjunction, array $members = []) {
    if (!in_array($conjunction, self::$allowedConjunctions)) {
      throw new \InvalidArgumentException('Allowed conjunctions: AND, OR.');
    }
    $this->conjunction = $conjunction;
    $this->members = $members;
  }

  /**
   * The condition group conjunction.
   *
   * @return string
   *   The condition group conjunction.
   */
  public function conjunction() {
    return $this->conjunction;
  }

  /**
   * The members which belong to the condition group.
   *
   * @return \Drupal\jsonapi\Query\EntityCondition[]
   *   The member conditions of this condition group.
   */
  public function members() {
    return $this->members;
  }

}

Members