class TableSortExtender
Same name in this branch
- 11.x core/tests/fixtures/database_drivers/module/core_fake/src/Driver/Database/CoreFakeWithAllCustomClasses/TableSortExtender.php \Drupal\core_fake\Driver\Database\CoreFakeWithAllCustomClasses\TableSortExtender
Same name in other branches
- 9 core/tests/fixtures/database_drivers/module/corefake/src/Driver/Database/corefakeWithAllCustomClasses/TableSortExtender.php \Drupal\corefake\Driver\Database\corefakeWithAllCustomClasses\TableSortExtender
- 9 core/lib/Drupal/Core/Database/Query/TableSortExtender.php \Drupal\Core\Database\Query\TableSortExtender
- 8.9.x core/lib/Drupal/Core/Database/Query/TableSortExtender.php \Drupal\Core\Database\Query\TableSortExtender
- 10 core/tests/fixtures/database_drivers/module/core_fake/src/Driver/Database/CoreFakeWithAllCustomClasses/TableSortExtender.php \Drupal\core_fake\Driver\Database\CoreFakeWithAllCustomClasses\TableSortExtender
- 10 core/lib/Drupal/Core/Database/Query/TableSortExtender.php \Drupal\Core\Database\Query\TableSortExtender
Query extender class for tablesort queries.
Hierarchy
- class \Drupal\Core\Database\Query\SelectExtender implements \Drupal\Core\Database\Query\SelectInterface
- class \Drupal\Core\Database\Query\TableSortExtender extends \Drupal\Core\Database\Query\SelectExtender
Expanded class hierarchy of TableSortExtender
5 files declare their use of TableSortExtender
- DatabaseTestController.php in core/
modules/ system/ tests/ modules/ database_test/ src/ Controller/ DatabaseTestController.php - DatabaseTestForm.php in core/
modules/ system/ tests/ modules/ database_test/ src/ Form/ DatabaseTestForm.php - DbLogController.php in core/
modules/ dblog/ src/ Controller/ DbLogController.php - ForumManager.php in core/
modules/ forum/ src/ ForumManager.php - TableSortExtender.php in core/
tests/ fixtures/ database_drivers/ module/ core_fake/ src/ Driver/ Database/ CoreFakeWithAllCustomClasses/ TableSortExtender.php
1 string reference to 'TableSortExtender'
- ConnectionTest::providerGetDriverClass in core/
tests/ Drupal/ Tests/ Core/ Database/ ConnectionTest.php - Data provider for testGetDriverClass().
File
-
core/
lib/ Drupal/ Core/ Database/ Query/ TableSortExtender.php, line 11
Namespace
Drupal\Core\Database\QueryView source
class TableSortExtender extends SelectExtender {
/**
* {@inheritdoc}
*/
public function __construct(SelectInterface $query, Connection $connection) {
parent::__construct($query, $connection);
// Add convenience tag to mark that this is an extended query. We have to
// do this in the constructor to ensure that it is set before preExecute()
// gets called.
$this->addTag('tablesort');
}
/**
* Order the query based on a header array.
*
* @param array $header
* Table header array.
*
* @return \Drupal\Core\Database\Query\SelectInterface
* The called object.
*
* @see table.html.twig
*/
public function orderByHeader(array $header) {
$context = TableSort::getContextFromRequest($header, \Drupal::request());
if (!empty($context['sql'])) {
// Based on code from \Drupal\Core\Database\Connection::escapeTable(),
// but this can also contain a dot.
$field = preg_replace('/[^A-Za-z0-9_.]+/', '', $context['sql']);
// orderBy() will ensure that only ASC/DESC values are accepted, so we
// don't need to sanitize that here.
$this->orderBy($field, $context['sort']);
}
return $this;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
SelectExtender::$connection | protected | property | The connection object on which to run this query. | ||
SelectExtender::$placeholder | protected | property | The placeholder counter. | ||
SelectExtender::$query | protected | property | The Select query object we are extending/decorating. | ||
SelectExtender::$uniqueIdentifier | protected | property | A unique identifier for this query object. | ||
SelectExtender::addExpression | public | function | Adds an expression to the list of "fields" to be SELECTed. | Overrides SelectInterface::addExpression | |
SelectExtender::addField | public | function | Adds a field to the list to be SELECTed. | Overrides SelectInterface::addField | |
SelectExtender::addJoin | public | function | Join against another table in the database. | Overrides SelectInterface::addJoin | |
SelectExtender::addMetaData | public | function | Adds additional metadata to the query. | Overrides AlterableInterface::addMetaData | |
SelectExtender::addTag | public | function | Adds a tag to a query. | Overrides AlterableInterface::addTag | |
SelectExtender::alwaysFalse | public | function | Sets a condition that is always false. | Overrides ConditionInterface::alwaysFalse | |
SelectExtender::andConditionGroup | public | function | Creates a new group of conditions ANDed together. | Overrides ConditionInterface::andConditionGroup | |
SelectExtender::arguments | public | function | Gets a complete list of all values to insert into the prepared statement. | Overrides ConditionInterface::arguments | |
SelectExtender::compile | public | function | Compiles the saved conditions for later retrieval. | Overrides ConditionInterface::compile | |
SelectExtender::compiled | public | function | Check whether a condition has been previously compiled. | Overrides ConditionInterface::compiled | |
SelectExtender::condition | public | function | Helper function: builds the most common conditional clauses. | Overrides ConditionInterface::condition | |
SelectExtender::conditionGroupFactory | public | function | Creates an object holding a group of conditions. | Overrides ConditionInterface::conditionGroupFactory | |
SelectExtender::conditions | public | function | Gets the, possibly nested, list of conditions in this conditional clause. | Overrides ConditionInterface::conditions | 1 |
SelectExtender::countQuery | public | function | Get the equivalent COUNT query of this query as a new query object. | Overrides SelectInterface::countQuery | 1 |
SelectExtender::distinct | public | function | Sets this query to be DISTINCT. | Overrides SelectInterface::distinct | |
SelectExtender::escapeField | public | function | Escapes a field name string. | Overrides SelectInterface::escapeField | |
SelectExtender::escapeLike | public | function | Escapes characters that work as wildcard characters in a LIKE pattern. | Overrides SelectInterface::escapeLike | |
SelectExtender::execute | public | function | Runs the query against the database. | Overrides SelectInterface::execute | 2 |
SelectExtender::exists | public | function | Sets a condition that the specified subquery returns values. | Overrides ConditionInterface::exists | |
SelectExtender::extend | public | function | Enhance this object by wrapping it in an extender object. | Overrides ExtendableInterface::extend | |
SelectExtender::fields | public | function | Add multiple fields from the same table to be SELECTed. | Overrides SelectInterface::fields | |
SelectExtender::forUpdate | public | function | Add FOR UPDATE to the query. | Overrides SelectInterface::forUpdate | |
SelectExtender::getArguments | public | function | Compiles and returns an associative array of the arguments for this prepared statement. | Overrides SelectInterface::getArguments | |
SelectExtender::getExpressions | public | function | Returns a reference to the expressions array for this query. | Overrides SelectInterface::getExpressions | |
SelectExtender::getFields | public | function | Returns a reference to the fields array for this query. | Overrides SelectInterface::getFields | |
SelectExtender::getGroupBy | public | function | Returns a reference to the group-by array for this query. | Overrides SelectInterface::getGroupBy | |
SelectExtender::getMetaData | public | function | Retrieves a given piece of metadata. | Overrides AlterableInterface::getMetaData | |
SelectExtender::getOrderBy | public | function | Returns a reference to the order by array for this query. | Overrides SelectInterface::getOrderBy | |
SelectExtender::getTables | public | function | Returns a reference to the tables array for this query. | Overrides SelectInterface::getTables | |
SelectExtender::getUnion | public | function | Returns a reference to the union queries for this query. | Overrides SelectInterface::getUnion | |
SelectExtender::groupBy | public | function | Groups the result set by the specified field. | Overrides SelectInterface::groupBy | |
SelectExtender::hasAllTags | public | function | Determines if a given query has all specified tags. | Overrides AlterableInterface::hasAllTags | |
SelectExtender::hasAnyTag | public | function | Determines if a given query has any specified tag. | Overrides AlterableInterface::hasAnyTag | |
SelectExtender::hasTag | public | function | Determines if a given query has a given tag. | Overrides AlterableInterface::hasTag | |
SelectExtender::having | public | function | Adds an arbitrary HAVING clause to the query. | Overrides SelectInterface::having | |
SelectExtender::havingArguments | public | function | Gets a list of all values to insert into the HAVING clause. | Overrides SelectInterface::havingArguments | |
SelectExtender::havingCompile | public | function | Compiles the HAVING clause for later retrieval. | Overrides SelectInterface::havingCompile | |
SelectExtender::havingCondition | public | function | Helper function to build most common HAVING conditional clauses. | Overrides SelectInterface::havingCondition | |
SelectExtender::havingConditions | public | function | Gets a list of all conditions in the HAVING clause. | Overrides SelectInterface::havingConditions | |
SelectExtender::havingExists | public | function | Sets a HAVING condition that the specified subquery returns values. | Overrides SelectInterface::havingExists | |
SelectExtender::havingIsNotNull | public | function | Sets a condition in the HAVING clause that the specified field be NOT NULL. | Overrides SelectInterface::havingIsNotNull | |
SelectExtender::havingIsNull | public | function | Sets a condition in the HAVING clause that the specified field be NULL. | Overrides SelectInterface::havingIsNull | |
SelectExtender::havingNotExists | public | function | Sets a HAVING condition that the specified subquery returns no values. | Overrides SelectInterface::havingNotExists | |
SelectExtender::innerJoin | public | function | Inner Join against another table in the database. | Overrides SelectInterface::innerJoin | |
SelectExtender::isNotNull | public | function | Sets a condition that the specified field be NOT NULL. | Overrides ConditionInterface::isNotNull | |
SelectExtender::isNull | public | function | Sets a condition that the specified field be NULL. | Overrides ConditionInterface::isNull | |
SelectExtender::isPrepared | public | function | Indicates if preExecute() has already been called on that object. | Overrides SelectInterface::isPrepared | |
SelectExtender::join | public | function | Default Join against another table in the database. | Overrides SelectInterface::join | |
SelectExtender::leftJoin | public | function | Left Outer Join against another table in the database. | Overrides SelectInterface::leftJoin | |
SelectExtender::nextPlaceholder | public | function | Returns the next placeholder ID for the query. | Overrides PlaceholderInterface::nextPlaceholder | |
SelectExtender::notExists | public | function | Sets a condition that the specified subquery returns no values. | Overrides ConditionInterface::notExists | |
SelectExtender::orConditionGroup | public | function | Creates a new group of conditions ORed together. | Overrides ConditionInterface::orConditionGroup | |
SelectExtender::orderBy | public | function | Orders the result set by a given field. | Overrides SelectInterface::orderBy | |
SelectExtender::orderRandom | public | function | Orders the result set by a random value. | Overrides SelectInterface::orderRandom | |
SelectExtender::preExecute | public | function | Generic preparation and validation for a SELECT query. | Overrides SelectInterface::preExecute | 1 |
SelectExtender::range | public | function | Restricts a query to a given range in the result set. | Overrides SelectInterface::range | |
SelectExtender::union | public | function | Add another Select query to UNION to this one. | Overrides SelectInterface::union | |
SelectExtender::uniqueIdentifier | public | function | Returns a unique identifier for this object. | Overrides PlaceholderInterface::uniqueIdentifier | |
SelectExtender::where | public | function | Adds an arbitrary WHERE clause to the query. | Overrides ConditionInterface::where | |
SelectExtender::__call | public | function | Magic override for undefined methods. | ||
SelectExtender::__clone | public | function | Clone magic method. | Overrides SelectInterface::__clone | |
SelectExtender::__toString | public | function | Returns a string representation of how the query will be executed in SQL. | Overrides SelectInterface::__toString | |
TableSortExtender::orderByHeader | public | function | Order the query based on a header array. | ||
TableSortExtender::__construct | public | function | Overrides SelectExtender::__construct |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.