1.20.x prefetch.inc public DatabaseStatementPrefetch::fetchObject($class_name = NULL, $constructor_args = array())

File

includes/database/prefetch.inc, line 384
Database interface code for engines that need complete control over their result sets.

Class

DatabaseStatementPrefetch
An implementation of DatabaseStatementInterface that prefetches all data.

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