function Query::__toString
Same name in this branch
- 11.x core/lib/Drupal/Core/Database/Query/Query.php \Drupal\Core\Database\Query\Query::__toString()
Same name in other branches
- 7.x includes/database/query.inc \Query::__toString()
- 9 core/lib/Drupal/Core/Database/Query/Query.php \Drupal\Core\Database\Query\Query::__toString()
- 9 core/lib/Drupal/Core/Entity/Query/Sql/Query.php \Drupal\Core\Entity\Query\Sql\Query::__toString()
- 8.9.x core/lib/Drupal/Core/Database/Query/Query.php \Drupal\Core\Database\Query\Query::__toString()
- 8.9.x core/lib/Drupal/Core/Entity/Query/Sql/Query.php \Drupal\Core\Entity\Query\Sql\Query::__toString()
- 10 core/lib/Drupal/Core/Database/Query/Query.php \Drupal\Core\Database\Query\Query::__toString()
- 10 core/lib/Drupal/Core/Entity/Query/Sql/Query.php \Drupal\Core\Entity\Query\Sql\Query::__toString()
Implements the magic __toString method.
File
-
core/
lib/ Drupal/ Core/ Entity/ Query/ Sql/ Query.php, line 337
Class
- Query
- The SQL storage entity query class.
Namespace
Drupal\Core\Entity\Query\SqlCode
public function __toString() {
// Clone the query so the prepare and compile doesn't get repeated.
$clone = clone $this;
$clone->prepare()
->compile()
->addSort()
->finish();
// Quote arguments so query is able to be run.
$quoted = [];
foreach ($clone->sqlQuery
->getArguments() as $key => $value) {
$quoted[$key] = is_null($value) ? 'NULL' : $this->connection
->quote($value);
}
// Replace table name brackets.
$sql = $clone->connection
->prefixTables((string) $clone->sqlQuery);
$sql = $clone->connection
->quoteIdentifiers($sql);
return strtr($sql, $quoted);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.