StatementPrefetch::fetchAllAssoc

public StatementPrefetch::fetchAllAssoc($key, $fetch_style = NULL)

Returns the result set as an associative array keyed by the given field.

If the given key appears multiple times, later records will overwrite earlier ones.

Parameters

$key: The name of the field on which to index the array.

$fetch: The fetchmode to use. If set to PDO::FETCH_ASSOC, PDO::FETCH_NUM, or PDO::FETCH_BOTH the returned value with be an array of arrays. For any other value it will be an array of objects. By default, the fetch mode set for the query will be used.

Return value

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

Overrides StatementInterface::fetchAllAssoc

File

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

Class

StatementPrefetch
An implementation of StatementInterface that prefetches all data.

Namespace

Drupal\Core\Database

Code

public function fetchAllAssoc($key, $fetch_style = NULL) {
  $this->fetchStyle = isset($fetch_style) ? $fetch_style : $this->defaultFetchStyle;
  $this->fetchOptions = $this->defaultFetchOptions;

  $result = array();
  // Traverse the array as PHP would have done.
  while (isset($this->currentRow)) {
    // Grab the row in its raw \PDO::FETCH_ASSOC format.
    $result_row = $this->current();
    $result[$this->currentRow[$key]] = $result_row;
    $this->next();
  }

  // Reset the fetch parameters to the value stored using setFetchMode().
  $this->fetchStyle = $this->defaultFetchStyle;
  $this->fetchOptions = $this->defaultFetchOptions;
  return $result;
}
doc_Drupal
2016-10-29 09:44:13
Comments
Leave a Comment

Please login to continue.