private function isValidColumn($name, $contenttype, $allowVariants = false)
    {
        $isValidColumn = false;

        if ($this->isMultiOrderQuery($name)) {
            $separatedOrders = $this->getOrderBys($name);
        } else {
            $separatedOrders = [$name];
        }

        //Loop through each term if multiple
        foreach ($separatedOrders as $index => $name) {
            $name = trim($name);

            // Strip the minus in '-title' if allowed.
            if ($allowVariants) {
                if ((strlen($name) > 0) && ($name[0] == "-")) {
                    $name = substr($name, 1);
                }
                $name = $this->getFieldName($name);
            }

            // Check if the $name is in the contenttype's fields.
            if (isset($contenttype['fields'][$name])) {
                $isValidColumn = true;
            }

            if (in_array($name, Content::getBaseColumns())) {
                $isValidColumn = true;
            }

            // Repeating fields are handled differently so skip here
            if (isset($contenttype['fields'][$name]) && $contenttype['fields'][$name]['type'] == 'repeater') {
                $isValidColumn = false;
            }

            if (! $isValidColumn) {
                return false;
            }
        }

        return true;
    }
private function isValidColumn($name, $contenttype, $allowVariants = false)
    {
        $isValidColumn = false;

        if ($this->isMultiOrderQuery($name)) {
            $separatedOrders = $this->getOrderBys($name);
        } else {
            $separatedOrders = [$name];
        }

        //Loop through each term if multiple
        foreach ($separatedOrders as $index => $name) {
            $name = trim($name);

            // Strip the minus in '-title' if allowed.
            if ($allowVariants) {
                if ((strlen($name) > 0) && ($name[0] == "-")) {
                    $name = substr($name, 1);
                }
                $name = $this->getFieldName($name);
            }

            // Check if the $name is in the contenttype's fields.
            if (isset($contenttype['fields'][$name])) {
                $isValidColumn = true;
            }

            if (in_array($name, Content::getBaseColumns())) {
                $isValidColumn = true;
            }

            // Repeating fields are handled differently so skip here
            if (isset($contenttype['fields'][$name]) && $contenttype['fields'][$name]['type'] == 'repeater') {
                $isValidColumn = false;
            }

            if (! $isValidColumn) {
                return false;
            }
        }

        return true;
    }
private function isValidColumn ( $ name , $ contenttype , $ allowVariants = false ) { $ isValidColumn = false ; if ( $ this -> isMultiOrderQuery ( $ name ) ) { $ separatedOrders = $ this -> getOrderBys ( $ name ) ; } else { $ separatedOrders = [ $ name ] ; } //Loop through each term if multiple foreach ( $ separatedOrders as $ index => $ name ) { $ name = trim ( $ name ) ; // Strip the minus in '-title' if allowed. if ( $ allowVariants ) { if ( ( strlen ( $ name ) > 0 ) && ( $ name [ 0 ] == "-" ) ) { $ name = substr ( $ name , 1 ) ; } $ name = $ this -> getFieldName ( $ name ) ; } // Check if the $name is in the contenttype's fields. if ( isset ( $ contenttype [ 'fields' ] [ $ name ] ) ) { $ isValidColumn = true ; } if ( in_array ( $ name , Content :: getBaseColumns ( ) ) ) { $ isValidColumn = true ; } // Repeating fields are handled differently so skip here if ( isset ( $ contenttype [ 'fields' ] [ $ name ] ) && $ contenttype [ 'fields' ] [ $ name ] [ 'type' ] == 'repeater' ) { $ isValidColumn = false ; } if ( ! $ isValidColumn ) { return false ; } } return true ; }
Check if a given name is a valid column, and if it can be used in queries.

@param string  $name
@param array   $contenttype
@param boolean $allowVariants

@return boolean
Check if a given name is a valid column and if it can be used in queries .