Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/Database/StatementPrefetch.php \Drupal\Core\Database\StatementPrefetch::fetch()
  2. 9 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 430

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;
  }
}