framework/db/Query.php
protected function getUniqueColumns($columns)
    {
        $unaliasedColumns = $this->getUnaliasedColumnsFromSelect();

        $result = [];
        foreach ($columns as $columnAlias => $columnDefinition) {
            if (!$columnDefinition instanceof Query) {
                if (is_string($columnAlias)) {
                    $existsInSelect = isset($this->select[$columnAlias]) && $this->select[$columnAlias] === $columnDefinition;
                    if ($existsInSelect) {
                        continue;
                    }
                } elseif (is_int($columnAlias)) {
                    $existsInSelect = in_array($columnDefinition, $unaliasedColumns, true);
                    $existsInResultSet = in_array($columnDefinition, $result, true);
                    if ($existsInSelect || $existsInResultSet) {
                        continue;
                    }
                }
            }

            $result[$columnAlias] = $columnDefinition;
        }
        return $result;
    }
protected function getUniqueColumns($columns)
    {
        $unaliasedColumns = $this->getUnaliasedColumnsFromSelect();

        $result = [];
        foreach ($columns as $columnAlias => $columnDefinition) {
            if (!$columnDefinition instanceof Query) {
                if (is_string($columnAlias)) {
                    $existsInSelect = isset($this->select[$columnAlias]) && $this->select[$columnAlias] === $columnDefinition;
                    if ($existsInSelect) {
                        continue;
                    }
                } elseif (is_int($columnAlias)) {
                    $existsInSelect = in_array($columnDefinition, $unaliasedColumns, true);
                    $existsInResultSet = in_array($columnDefinition, $result, true);
                    if ($existsInSelect || $existsInResultSet) {
                        continue;
                    }
                }
            }

            $result[$columnAlias] = $columnDefinition;
        }
        return $result;
    }
protected function getUniqueColumns ( $ columns ) { $ unaliasedColumns = $ this -> getUnaliasedColumnsFromSelect ( ) ; $ result = [ ] ; foreach ( $ columns as $ columnAlias => $ columnDefinition ) { if ( ! $ columnDefinition instanceof Query ) { if ( is_string ( $ columnAlias ) ) { $ existsInSelect = isset ( $ this -> select [ $ columnAlias ] ) && $ this -> select [ $ columnAlias ] === $ columnDefinition ; if ( $ existsInSelect ) { continue ; } } elseif ( is_int ( $ columnAlias ) ) { $ existsInSelect = in_array ( $ columnDefinition , $ unaliasedColumns , true ) ; $ existsInResultSet = in_array ( $ columnDefinition , $ result , true ) ; if ( $ existsInSelect || $ existsInResultSet ) { continue ; } } } $ result [ $ columnAlias ] = $ columnDefinition ; } return $ result ; }
Returns unique column names excluding duplicates.
Columns to be removed:
- if column definition already present in SELECT part with same alias
- if column definition without alias already present in SELECT part without alias too
@param array $columns the columns to be merged to the select.
@since 2.0.14
Returns unique column names excluding duplicates . Columns to be removed : - if column definition already present in SELECT part with same alias - if column definition without alias already present in SELECT part without alias too