You are here

class QueryFactory in Zircon Profile 8

Same name in this branch
  1. 8 core/lib/Drupal/Core/Entity/Query/QueryFactory.php \Drupal\Core\Entity\Query\QueryFactory
  2. 8 core/lib/Drupal/Core/Config/Entity/Query/QueryFactory.php \Drupal\Core\Config\Entity\Query\QueryFactory
  3. 8 core/lib/Drupal/Core/Entity/KeyValueStore/Query/QueryFactory.php \Drupal\Core\Entity\KeyValueStore\Query\QueryFactory
  4. 8 core/lib/Drupal/Core/Entity/Query/Sql/QueryFactory.php \Drupal\Core\Entity\Query\Sql\QueryFactory
  5. 8 core/lib/Drupal/Core/Entity/Query/Null/QueryFactory.php \Drupal\Core\Entity\Query\Null\QueryFactory
  6. 8 core/lib/Drupal/Core/Entity/Query/Sql/pgsql/QueryFactory.php \Drupal\Core\Entity\Query\Sql\pgsql\QueryFactory
Same name and namespace in other branches
  1. 8.0 core/lib/Drupal/Core/Entity/Query/QueryFactory.php \Drupal\Core\Entity\Query\QueryFactory

Factory class Creating entity query objects.

Any implementation of this service must call getQuery()/getAggregateQuery() of the corresponding entity storage.

@todo https://www.drupal.org/node/2389335 remove entity.query service and replace with using the entity storage's getQuery() method.

Hierarchy

Expanded class hierarchy of QueryFactory

See also

\Drupal\Core\Entity\EntityStorageBase::getQuery()

25 files declare their use of QueryFactory
AccountForm.php in core/modules/user/src/AccountForm.php
Contains \Drupal\user\AccountForm.
BlockContentTypeDeleteForm.php in core/modules/block_content/src/Form/BlockContentTypeDeleteForm.php
Contains \Drupal\block_content\Form\BlockContentTypeDeleteForm.
BookUninstallValidator.php in core/modules/book/src/BookUninstallValidator.php
Contains \Drupal\book\BookUninstallValidator.
CommentManager.php in core/modules/comment/src/CommentManager.php
Contains \Drupal\comment\CommentManager.
CommentTypeDeleteForm.php in core/modules/comment/src/Form/CommentTypeDeleteForm.php
Contains \Drupal\comment\Form\CommentTypeDeleteForm.

... See full list

1 string reference to 'QueryFactory'
core.services.yml in core/core.services.yml
core/core.services.yml
1 service uses QueryFactory
entity.query in core/core.services.yml
Drupal\Core\Entity\Query\QueryFactory

File

core/lib/Drupal/Core/Entity/Query/QueryFactory.php, line 25
Contains \Drupal\Core\Entity\Query\QueryFactory.

Namespace

Drupal\Core\Entity\Query
View source
class QueryFactory implements ContainerAwareInterface {
  use ContainerAwareTrait;

  /**
   * Stores the entity manager used by the query.
   *
   * @var \Drupal\Core\Entity\EntityManagerInterface
   */
  protected $entityManager;

  /**
   * Constructs a QueryFactory object.
   *
   * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager
   *   The entity manager used by the query.
   */
  public function __construct(EntityManagerInterface $entity_manager) {
    $this->entityManager = $entity_manager;
  }

  /**
   * Returns a query object for a given entity type.
   *
   * @param string $entity_type_id
   *   The entity type ID.
   * @param string $conjunction
   *   - AND: all of the conditions on the query need to match.
   *   - OR: at least one of the conditions on the query need to match.
   *
   * @return \Drupal\Core\Entity\Query\QueryInterface
   *   The query object that can query the given entity type.
   */
  public function get($entity_type_id, $conjunction = 'AND') {
    return $this->entityManager
      ->getStorage($entity_type_id)
      ->getQuery($conjunction);
  }

  /**
   * Returns an aggregated query object for a given entity type.
   *
   * @param string $entity_type_id
   *   The entity type ID.
   * @param string $conjunction
   *   - AND: all of the conditions on the query need to match.
   *   - OR: at least one of the conditions on the query need to match.
   *
   * @return \Drupal\Core\Entity\Query\QueryAggregateInterface
   *   The aggregated query object that can query the given entity type.
   */
  public function getAggregate($entity_type_id, $conjunction = 'AND') {
    return $this->entityManager
      ->getStorage($entity_type_id)
      ->getAggregateQuery($conjunction);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ContainerAwareTrait::$container protected property
ContainerAwareTrait::setContainer public function Sets the Container associated with this Controller.
QueryFactory::$entityManager protected property Stores the entity manager used by the query.
QueryFactory::get public function Returns a query object for a given entity type.
QueryFactory::getAggregate public function Returns an aggregated query object for a given entity type.
QueryFactory::__construct public function Constructs a QueryFactory object.