yii\db\QueryTrait::normalizeOrderBy PHP Method

normalizeOrderBy() protected method

Normalizes format of ORDER BY data
protected normalizeOrderBy ( array | string | yii\db\Expression $columns ) : array
$columns array | string | yii\db\Expression the columns value to normalize. See [[orderBy]] and [[addOrderBy]].
return array
    protected function normalizeOrderBy($columns)
    {
        if ($columns instanceof Expression) {
            return [$columns];
        } elseif (is_array($columns)) {
            return $columns;
        } else {
            $columns = preg_split('/\\s*,\\s*/', trim($columns), -1, PREG_SPLIT_NO_EMPTY);
            $result = [];
            foreach ($columns as $column) {
                if (preg_match('/^(.*?)\\s+(asc|desc)$/i', $column, $matches)) {
                    $result[$matches[1]] = strcasecmp($matches[2], 'desc') ? SORT_ASC : SORT_DESC;
                } else {
                    $result[$column] = SORT_ASC;
                }
            }
            return $result;
        }
    }