protected static function _groupResult($function, $alias, $column, $parameters, $cacheOptions)
{
$dependencyInjector = Di::getDefault();
$modelsManager = $dependencyInjector->getShared('modelsManager');
if ($parameters === null) {
$parameters = [];
} elseif (is_string($parameters)) {
$parameters = [$parameters];
}
if (preg_match('#^[a-z_][a-z0-9_]*$#i', $column) === 1) {
$column = '[' . $column . ']';
}
if (isset($parameters['group'])) {
$columns = "[{$parameters['group']}], {$function}({$column}) AS [{$alias}]";
} else {
$columns = "{$function}({$column}) AS [{$alias}]";
}
/**
* @var $modelsManager \ManaPHP\Mvc\Model\Manager
*/
$builder = $modelsManager->createBuilder($parameters)->columns($columns)->from(get_called_class());
$resultset = $builder->execute($cacheOptions);
if (isset($parameters['group'])) {
return $resultset;
}
return $resultset[0][$alias];
}