class QueryFactory

Same name in this branch
  1. 8.9.x core/modules/workspaces/src/EntityQuery/QueryFactory.php \Drupal\workspaces\EntityQuery\QueryFactory
  2. 8.9.x core/lib/Drupal/Core/Config/Entity/Query/QueryFactory.php \Drupal\Core\Config\Entity\Query\QueryFactory
  3. 8.9.x core/lib/Drupal/Core/Entity/Query/Sql/QueryFactory.php \Drupal\Core\Entity\Query\Sql\QueryFactory
  4. 8.9.x core/lib/Drupal/Core/Entity/Query/Sql/pgsql/QueryFactory.php \Drupal\Core\Entity\Query\Sql\pgsql\QueryFactory
  5. 8.9.x core/lib/Drupal/Core/Entity/Query/Null/QueryFactory.php \Drupal\Core\Entity\Query\Null\QueryFactory
  6. 8.9.x core/lib/Drupal/Core/Entity/KeyValueStore/Query/QueryFactory.php \Drupal\Core\Entity\KeyValueStore\Query\QueryFactory
Same name in other branches
  1. 9 core/modules/workspaces/src/EntityQuery/QueryFactory.php \Drupal\workspaces\EntityQuery\QueryFactory
  2. 9 core/lib/Drupal/Core/Config/Entity/Query/QueryFactory.php \Drupal\Core\Config\Entity\Query\QueryFactory
  3. 9 core/lib/Drupal/Core/Entity/Query/Sql/QueryFactory.php \Drupal\Core\Entity\Query\Sql\QueryFactory
  4. 9 core/lib/Drupal/Core/Entity/Query/Sql/pgsql/QueryFactory.php \Drupal\Core\Entity\Query\Sql\pgsql\QueryFactory
  5. 9 core/lib/Drupal/Core/Entity/Query/Null/QueryFactory.php \Drupal\Core\Entity\Query\Null\QueryFactory
  6. 9 core/lib/Drupal/Core/Entity/KeyValueStore/Query/QueryFactory.php \Drupal\Core\Entity\KeyValueStore\Query\QueryFactory
  7. 10 core/modules/workspaces/src/EntityQuery/QueryFactory.php \Drupal\workspaces\EntityQuery\QueryFactory
  8. 10 core/lib/Drupal/Core/Config/Entity/Query/QueryFactory.php \Drupal\Core\Config\Entity\Query\QueryFactory
  9. 10 core/lib/Drupal/Core/Entity/Query/Sql/QueryFactory.php \Drupal\Core\Entity\Query\Sql\QueryFactory
  10. 10 core/lib/Drupal/Core/Entity/Query/Sql/pgsql/QueryFactory.php \Drupal\Core\Entity\Query\Sql\pgsql\QueryFactory
  11. 10 core/lib/Drupal/Core/Entity/Query/Null/QueryFactory.php \Drupal\Core\Entity\Query\Null\QueryFactory
  12. 10 core/lib/Drupal/Core/Entity/KeyValueStore/Query/QueryFactory.php \Drupal\Core\Entity\KeyValueStore\Query\QueryFactory
  13. 11.x core/modules/workspaces/src/EntityQuery/QueryFactory.php \Drupal\workspaces\EntityQuery\QueryFactory
  14. 11.x core/lib/Drupal/Core/Config/Entity/Query/QueryFactory.php \Drupal\Core\Config\Entity\Query\QueryFactory
  15. 11.x core/lib/Drupal/Core/Entity/Query/Sql/QueryFactory.php \Drupal\Core\Entity\Query\Sql\QueryFactory
  16. 11.x core/lib/Drupal/Core/Entity/Query/Sql/pgsql/QueryFactory.php \Drupal\Core\Entity\Query\Sql\pgsql\QueryFactory
  17. 11.x core/lib/Drupal/Core/Entity/Query/Null/QueryFactory.php \Drupal\Core\Entity\Query\Null\QueryFactory
  18. 11.x core/lib/Drupal/Core/Entity/KeyValueStore/Query/QueryFactory.php \Drupal\Core\Entity\KeyValueStore\Query\QueryFactory

Factory class Creating entity query objects.

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

Hierarchy

Expanded class hierarchy of QueryFactory

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 also

https://www.drupal.org/node/2849874

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

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

Namespace

Drupal\Core\Entity\Query
View source
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);
    }

}

Members

Title Sort descending Modifiers Object type Summary
DeprecatedServicePropertyTrait::__get public function Allows to access deprecated/removed properties.
QueryFactory::$deprecatedProperties protected property
QueryFactory::$entityTypeManager protected property The entity type manager service.
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.

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