W3cubDocs

/Drupal 8

public function StatementPrefetch::fetchAllKeyed

public StatementPrefetch::fetchAllKeyed($key_index = 0, $value_index = 1)

Returns the entire result set as a single associative array.

This method is only useful for two-column result sets. It will return an associative array where the key is one column from the result set and the value is another field. In most cases, the default of the first two columns is appropriate.

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

Parameters

$key_index: The numeric index of the field to use as the array key.

$value_index: The numeric index of the field to use as the array value.

Return value

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

Overrides StatementInterface::fetchAllKeyed

File

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

Class

StatementPrefetch
An implementation of StatementInterface that prefetches all data.

Namespace

Drupal\Core\Database

Code

public function fetchAllKeyed($key_index = 0, $value_index = 1) {
  if (!isset($this->columnNames[$key_index]) || !isset($this->columnNames[$value_index])) {
    return array();
  }

  $key = $this->columnNames[$key_index];
  $value = $this->columnNames[$value_index];

  $result = array();
  // Traverse the array as PHP would have done.
  while (isset($this->currentRow)) {
    $result[$this->currentRow[$key]] = $this->currentRow[$value];
    $this->next();
  }
  return $result;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Database!StatementPrefetch.php/function/StatementPrefetch::fetchAllKeyed/8.1.x