function StatementPrefetch::fetchCol

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Database/StatementPrefetch.php \Drupal\Core\Database\StatementPrefetch::fetchCol()
  2. 8.9.x core/lib/Drupal/Core/Database/StatementPrefetch.php \Drupal\Core\Database\StatementPrefetch::fetchCol()

Returns an entire single column of a result set as an indexed array.

Note that this method will run the result set to the end.

Parameters

$index: The index of the column number to fetch.

Return value

array An indexed array, or an empty array if there is no result set.

Overrides StatementInterface::fetchCol

File

core/lib/Drupal/Core/Database/StatementPrefetch.php, line 555

Class

StatementPrefetch
An implementation of StatementInterface that pre-fetches all data.

Namespace

Drupal\Core\Database

Code

public function fetchCol($index = 0) {
  if (isset($this->columnNames[$index])) {
    $result = [];
    // Traverse the array as PHP would have done.
    while (isset($this->currentRow)) {
      $result[] = $this->currentRow[$this->columnNames[$index]];
      $this->next();
    }
    return $result;
  }
  else {
    return [];
  }
}

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