MetaModels\Filter\Setting\CustomSql::convertParameter PHP Метод

convertParameter() публичный Метод

Convert a parameter in the query string.
public convertParameter ( array $arrMatch ) : string
$arrMatch array The match from the preg_replace_all call in parseRequestVars().
Результат string
    public function convertParameter($arrMatch)
    {
        list($strSource, $strQuery) = explode('?', $arrMatch[1], 2);
        parse_str($strQuery, $arrArgs);
        $arrName = (array) $arrArgs['name'];
        $var = $this->getValueFromSource($strSource, array_shift($arrName), $arrArgs);
        $index = 0;
        $count = count($arrName);
        while ($index < $count && is_array($var)) {
            $var = $var[$arrName[$index++]];
        }
        if ($index != $count || $var === null) {
            if (array_key_exists('default', $arrArgs) && null !== $arrArgs['default']) {
                $this->addParameter($arrArgs['default']);
                return '?';
            } else {
                return 'NULL';
            }
        }
        // Treat as scalar value.
        if (!isset($arrArgs['aggregate'])) {
            $this->addParameter($var);
            return '?';
        }
        return $this->convertParameterAggregate($var, $arrArgs);
    }