public function StatementPrefetch::fetchObject in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Database/StatementPrefetch.php \Drupal\Core\Database\StatementPrefetch::fetchObject()
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.
phpcs:disable Drupal.Commenting @todo Remove PHPCS overrides https://www.drupal.org/node/3194677.
Parameters
string|null $class_name: Name of the created class.
array|null $constructor_arguments: Elements of this array are passed to the constructor. phpcs:enable
Return value
mixed The object of specified class or \stdClass if not specified. Returns FALSE or NULL if there is no next row.
Overrides StatementInterface::fetchObject
File
- core/
lib/ Drupal/ Core/ Database/ StatementPrefetch.php, line 473
Class
- StatementPrefetch
- An implementation of StatementInterface that prefetches all data.
Namespace
Drupal\Core\DatabaseCode
public function fetchObject(string $class_name = NULL, array $constructor_arguments = NULL) {
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 = [
'class' => $class_name,
'constructor_args' => $constructor_arguments,
];
// 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;
}
}