QueryFactory.php

Same filename in this branch
  1. 8.9.x core/modules/workspaces/src/EntityQuery/QueryFactory.php
  2. 8.9.x core/lib/Drupal/Core/Config/Entity/Query/QueryFactory.php
  3. 8.9.x core/lib/Drupal/Core/Entity/Query/Sql/QueryFactory.php
  4. 8.9.x core/lib/Drupal/Core/Entity/Query/Sql/pgsql/QueryFactory.php
  5. 8.9.x core/lib/Drupal/Core/Entity/Query/Null/QueryFactory.php
  6. 8.9.x core/lib/Drupal/Core/Entity/KeyValueStore/Query/QueryFactory.php
Same filename and directory in other branches
  1. 11.x core/modules/workspaces/src/EntityQuery/QueryFactory.php
  2. 11.x core/modules/pgsql/src/EntityQuery/QueryFactory.php
  3. 11.x core/lib/Drupal/Core/Config/Entity/Query/QueryFactory.php
  4. 11.x core/lib/Drupal/Core/Entity/Query/Sql/QueryFactory.php
  5. 11.x core/lib/Drupal/Core/Entity/Query/Sql/pgsql/QueryFactory.php
  6. 11.x core/lib/Drupal/Core/Entity/Query/Null/QueryFactory.php
  7. 11.x core/lib/Drupal/Core/Entity/KeyValueStore/Query/QueryFactory.php
  8. 10 core/modules/workspaces/src/EntityQuery/QueryFactory.php
  9. 10 core/lib/Drupal/Core/Config/Entity/Query/QueryFactory.php
  10. 10 core/lib/Drupal/Core/Entity/Query/Sql/QueryFactory.php
  11. 10 core/lib/Drupal/Core/Entity/Query/Sql/pgsql/QueryFactory.php
  12. 10 core/lib/Drupal/Core/Entity/Query/Null/QueryFactory.php
  13. 10 core/lib/Drupal/Core/Entity/KeyValueStore/Query/QueryFactory.php
  14. 9 core/modules/workspaces/src/EntityQuery/QueryFactory.php
  15. 9 core/lib/Drupal/Core/Config/Entity/Query/QueryFactory.php
  16. 9 core/lib/Drupal/Core/Entity/Query/Sql/QueryFactory.php
  17. 9 core/lib/Drupal/Core/Entity/Query/Sql/pgsql/QueryFactory.php
  18. 9 core/lib/Drupal/Core/Entity/Query/Null/QueryFactory.php
  19. 9 core/lib/Drupal/Core/Entity/KeyValueStore/Query/QueryFactory.php
  20. main core/modules/workspaces/src/EntityQuery/QueryFactory.php
  21. main core/modules/pgsql/src/EntityQuery/QueryFactory.php
  22. main core/lib/Drupal/Core/Config/Entity/Query/QueryFactory.php
  23. main core/lib/Drupal/Core/Entity/Query/Sql/QueryFactory.php
  24. main core/lib/Drupal/Core/Entity/Query/Null/QueryFactory.php
  25. main core/lib/Drupal/Core/Entity/KeyValueStore/Query/QueryFactory.php

Namespace

Drupal\Core\Entity\Query

File

core/lib/Drupal/Core/Entity/Query/QueryFactory.php

View source
<?php

namespace Drupal\Core\Entity\Query;

@trigger_error('The ' . __NAMESPACE__ . '\\QueryFactory class is deprecated in Drupal 8.3.0, will be removed before Drupal 9.0.0. Use \\Drupal\\Core\\Entity\\EntityStorageInterface::getQuery() or \\Drupal\\Core\\Entity\\EntityStorageInterface::getAggregateQuery() instead. See https://www.drupal.org/node/2849874.', E_USER_DEPRECATED);
use Drupal\Core\DependencyInjection\DeprecatedServicePropertyTrait;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerAwareTrait;

/**
 * Factory class Creating entity query objects.
 *
 * Any implementation of this service must call getQuery()/getAggregateQuery()
 * of the corresponding entity storage.
 *
 * @deprecated in drupal:8.3.0 and is removed from drupal:9.0.0. Use
 *   \Drupal\Core\Entity\EntityStorageInterface::getQuery() or
 *   \Drupal\Core\Entity\EntityStorageInterface::getAggregateQuery() instead.
 *
 * @see https://www.drupal.org/node/2849874
 * @see \Drupal\Core\Entity\EntityStorageBase::getQuery()
 */
class QueryFactory implements ContainerAwareInterface {
  use ContainerAwareTrait;
  use DeprecatedServicePropertyTrait;
  
  /**
   * {@inheritdoc}
   */
  protected $deprecatedProperties = [
    'entityManager' => 'entity.manager',
  ];
  
  /**
   * The entity type manager service.
   *
   * @var \Drupal\Core\Entity\EntityTypeManagerInterface
   */
  protected $entityTypeManager;
  
  /**
   * Constructs a QueryFactory object.
   *
   * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
   *   The entity type manager service.
   */
  public function __construct(EntityTypeManagerInterface $entity_type_manager) {
    $this->entityTypeManager = $entity_type_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->entityTypeManager
      ->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->entityTypeManager
      ->getStorage($entity_type_id)
      ->getAggregateQuery($conjunction);
  }

}

Classes

Title Deprecated Summary
QueryFactory

in drupal:8.3.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Entity\EntityStorageInterface::getQuery() or \Drupal\Core\Entity\EntityStorageInterface::getAggregateQuery() instead.

Factory class Creating entity query objects.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.