function webform_query_webform_submission_list_builder_alter in Webform 8.5
Same name and namespace in other branches
- 6.x includes/webform.query.inc \webform_query_webform_submission_list_builder_alter()
Implements hook_query_TAG_alter().
Append EAV sort to webform_submission entity query.
See also
http://stackoverflow.com/questions/12893314/sorting-eav-database
\Drupal\webform\WebformSubmissionListBuilder::getEntityIds
File
- includes/
webform.query.inc, line 20 - Webform module query hooks.
Code
function webform_query_webform_submission_list_builder_alter(AlterableInterface $query) {
/** @var \Drupal\Core\Database\Query\SelectInterface $query */
$name = $query
->getMetaData('webform_submission_element_name');
$direction = $query
->getMetaData('webform_submission_element_direction');
$property_name = $query
->getMetaData('webform_submission_element_property_name');
$query
->distinct();
$query
->addJoin('INNER', 'webform_submission_data', 'webform_submission_data_list_builder_element', 'base_table.sid = webform_submission_data_list_builder_element.sid');
$query
->addField('webform_submission_data_list_builder_element', 'value');
$query
->condition('webform_submission_data_list_builder_element.name', $name);
if ($property_name) {
$query
->condition('webform_submission_data_list_builder_element.property', $property_name);
}
$query
->orderBy('webform_submission_data_list_builder_element.value', $direction);
}