'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); } }