public function StatementPrefetch::fetchObject

public StatementPrefetch::fetchObject($class_name = NULL, $constructor_args = array())

Fetches the next row and returns it as an object.

The object will be of the class specified by StatementInterface::setFetchMode() or stdClass if not specified.

Overrides StatementInterface::fetchObject

File

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

Class

StatementPrefetch
An implementation of StatementInterface that prefetches all data.

Namespace

Drupal\Core\Database

Code

public function fetchObject($class_name = NULL, $constructor_args = array()) {
  if (isset($this->currentRow)) {
    if (!isset($class_name)) {
      // Directly cast to an object to avoid a function call.
      $result = (object) $this->currentRow;
    }
    else {
      $this->fetchStyle = \PDO::FETCH_CLASS;
      $this->fetchOptions = array('constructor_args' => $constructor_args);
      // Grab the row in the format specified above.
      $result = $this->current();
      // Reset the fetch parameters to the value stored using setFetchMode().
      $this->fetchStyle = $this->defaultFetchStyle;
      $this->fetchOptions = $this->defaultFetchOptions;
    }

    $this->next();

    return $result;
  }
  else {
    return FALSE;
  }
}

© 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::fetchObject/8.1.x