public function Query::__toString in Drupal 9
Same name in this branch
- 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()
Same name and namespace in other branches
- 8 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 336
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);
}