function StatementPrefetch::fetch

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

Fetches the next row from a result set.

See http://php.net/manual/pdo.constants.php for the definition of the constants used.

Parameters

$mode: One of the \PDO::FETCH_* constants. Default to what was specified by setFetchMode().

$cursor_orientation: Not implemented in all database drivers, don't use.

$cursor_offset: Not implemented in all database drivers, don't use.

Return value

array|object|false A result, formatted according to $mode, or FALSE on failure.

Overrides StatementInterface::fetch

File

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

Class

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

Namespace

Drupal\Core\Database

Code

public function fetch($fetch_style = NULL, $cursor_orientation = \PDO::FETCH_ORI_NEXT, $cursor_offset = NULL) {
  if (isset($this->currentRow)) {
    // Set the fetch parameter.
    $this->fetchStyle = $fetch_style ?? $this->defaultFetchStyle;
    $this->fetchOptions = $this->defaultFetchOptions;
    // Grab the row in the format specified above.
    $return = $this->current();
    // Advance the cursor.
    $this->next();
    // Reset the fetch parameters to the value stored using setFetchMode().
    $this->fetchStyle = $this->defaultFetchStyle;
    $this->fetchOptions = $this->defaultFetchOptions;
    return $return;
  }
  else {
    return FALSE;
  }
}

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