/** * Get a query for our median query * * @param FabrikFEModelList &$listModel List * @param array $labels Label * * @return string */ protected function getMedianQuery(&$listModel, $labels = array()) { $fields = $listModel->getDBFields($this->getTableName(), 'Field'); $name = $this->getElement()->name; $field = FArrayHelper::getValue($fields, $name, false); if ($field !== false && $field->Type == 'time') { $db = $listModel->getDb(); $label = count($labels) == 0 ? "'calc' AS label" : 'CONCAT(' . implode(', " & " , ', $labels) . ') AS label'; $name = $this->getFullName(false, false); $table = $listModel->getTable(); $joinSQL = $listModel->buildQueryJoin(); $whereSQL = $listModel->buildQueryWhere(); return "SELECT SEC_TO_TIME(TIME_TO_SEC({$name})) AS value, {$label} FROM " . $db->qn($table->db_table_name) . " {$joinSQL} {$whereSQL}"; } else { return parent::getMedianQuery($listModel, $labels); } }