public static function Cache::keyFromQuery in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Cache/Cache.php \Drupal\Core\Cache\Cache::keyFromQuery()
- 10 core/lib/Drupal/Core/Cache/Cache.php \Drupal\Core\Cache\Cache::keyFromQuery()
Generates a hash from a query object, to be used as part of the cache key.
This smart caching strategy saves Drupal from querying and rendering to HTML when the underlying query is unchanged.
Expensive queries should use the query builder to create the query and then call this function. Executing the query and formatting results should happen in a #pre_render callback.
Parameters
\Drupal\Core\Database\Query\SelectInterface $query: A select query object.
Return value
string A hash of the query arguments.
File
- core/
lib/ Drupal/ Core/ Cache/ Cache.php, line 145
Class
- Cache
- Helper methods for cache.
Namespace
Drupal\Core\CacheCode
public static function keyFromQuery(SelectInterface $query) {
$query
->preExecute();
$keys = [
(string) $query,
$query
->getArguments(),
];
return hash('sha256', serialize($keys));
}