ManaPHP\Mvc\Model::_groupResult PHP Метод

_groupResult() защищенный статический Метод

Generate a SQL SELECT statement for an aggregate
protected static _groupResult ( string $function, string $alias, string $column, string | array $parameters, integer | array $cacheOptions ) : mixed
$function string
$alias string
$column string
$parameters string | array
$cacheOptions integer | array
Результат mixed
    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];
    }