You are here

public function CommentStatistics::read in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/comment/src/CommentStatistics.php \Drupal\comment\CommentStatistics::read()
  2. 10 core/modules/comment/src/CommentStatistics.php \Drupal\comment\CommentStatistics::read()

Read comment statistics records for an array of entities.

Parameters

\Drupal\Core\Entity\EntityInterface[] $entities: Array of entities on which commenting is enabled, keyed by id

string $entity_type: The entity type of the passed entities.

bool $accurate: (optional) Indicates if results must be completely up to date. If set to FALSE, a replica database will used if available. Defaults to TRUE.

Return value

object[] Array of statistics records.

Overrides CommentStatisticsInterface::read

File

core/modules/comment/src/CommentStatistics.php, line 76

Class

CommentStatistics

Namespace

Drupal\comment

Code

public function read($entities, $entity_type, $accurate = TRUE) {
  $connection = $accurate ? $this->database : $this->databaseReplica;
  $stats = $connection
    ->select('comment_entity_statistics', 'ces')
    ->fields('ces')
    ->condition('ces.entity_id', array_keys($entities), 'IN')
    ->condition('ces.entity_type', $entity_type)
    ->execute();
  $statistics_records = [];
  while ($entry = $stats
    ->fetchObject()) {
    $statistics_records[] = $entry;
  }
  return $statistics_records;
}