function ViewExecutable::_build
Same name in other branches
- 9 core/modules/views/src/ViewExecutable.php \Drupal\views\ViewExecutable::_build()
- 8.9.x core/modules/views/src/ViewExecutable.php \Drupal\views\ViewExecutable::_build()
- 11.x core/modules/views/src/ViewExecutable.php \Drupal\views\ViewExecutable::_build()
Builds an individual set of handlers.
This is an internal method.
@todo Some filter needs this function, even it is internal.
Parameters
string $key: The type of handlers (filter etc.) which should be iterated over to build the relationship and query information.
1 call to ViewExecutable::_build()
- ViewExecutable::build in core/
modules/ views/ src/ ViewExecutable.php - Builds the query for the view.
File
-
core/
modules/ views/ src/ ViewExecutable.php, line 1407
Class
- ViewExecutable
- Represents a view as a whole.
Namespace
Drupal\viewsCode
public function _build($key) {
$handlers =& $this->{$key};
foreach ($handlers as $id => $data) {
if (!empty($handlers[$id]) && is_object($handlers[$id])) {
$multiple_exposed_input = [
0 => NULL,
];
if ($handlers[$id]->multipleExposedInput()) {
$multiple_exposed_input = $handlers[$id]->groupMultipleExposedInput($this->exposed_data);
}
foreach ($multiple_exposed_input as $group_id) {
// Give this handler access to the exposed filter input.
if (!empty($this->exposed_data)) {
if ($handlers[$id]->isAGroup()) {
$converted = $handlers[$id]->convertExposedInput($this->exposed_data, $group_id);
$handlers[$id]->storeGroupInput($this->exposed_data, $converted);
if (!$converted) {
continue;
}
}
$rc = $handlers[$id]->acceptExposedInput($this->exposed_data);
$handlers[$id]->storeExposedInput($this->exposed_data, $rc);
if (!$rc) {
continue;
}
}
$handlers[$id]->setRelationship();
$handlers[$id]->query($this->display_handler
->useGroupBy());
}
}
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.