You are here

public function StatementPrefetch::fetch in Drupal 9

Same name and namespace in other branches
  1. 8 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

A result, formatted according to $mode.

Overrides StatementInterface::fetch

File

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

Class

StatementPrefetch
An implementation of StatementInterface that prefetches 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 = isset($fetch_style) ? $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;
  }
}