protected function SensorDatabaseAggregator::getFieldName in Monitoring 7
Returns the field name to use for a condition and ensures necessary joins.
Parameters
\SelectQueryInterface $query: Select query instance.
array $condition: A query condition array, containing at least the field.
Return value
string The field name to use for conditions for that condition definition, can contain a table name alias if the field is part of a joined table.
2 calls to SensorDatabaseAggregator::getFieldName()
- SensorCommerceTurnover::buildQuery in lib/
Drupal/ monitoring/ Sensor/ Sensors/ SensorCommerceTurnover.php - Builds the database query.
- SensorDatabaseAggregator::buildQuery in lib/
Drupal/ monitoring/ Sensor/ Sensors/ SensorDatabaseAggregator.php - Builds the database query.
File
- lib/
Drupal/ monitoring/ Sensor/ Sensors/ SensorDatabaseAggregator.php, line 162 - Contains \Drupal\monitoring\Sensor\Sensors\SensorDatabaseAggregator.
Class
- SensorDatabaseAggregator
- Base for database aggregator sensors.
Namespace
Drupal\monitoring\Sensor\SensorsCode
protected function getFieldName(\SelectQueryInterface $query, array $condition) {
if (strpos($condition['field'], '.') !== FALSE) {
// Configurable field conditions are only supported if this is an entity
// table.
$entity_type = $this
->getEntityTypeFromTable($this->info
->getSetting('table'));
list($field_name, $column) = explode('.', $condition['field']);
// Add a join to the field table.
$alias = $this
->joinFieldTable($query, $entity_type, $field_name);
// Return the combination of alias table name and field column.
return $alias . '.' . _field_sql_storage_columnname($field_name, $column);
}
else {
// A simple base table field.
return $condition['field'];
}
}