PHPSQLParser\builders\FunctionBuilder::build PHP Method

build() public method

public build ( array $parsed )
$parsed array
    public function build(array $parsed)
    {
        if ($parsed['expr_type'] !== ExpressionType::AGGREGATE_FUNCTION && $parsed['expr_type'] !== ExpressionType::SIMPLE_FUNCTION && $parsed['expr_type'] !== ExpressionType::CUSTOM_FUNCTION) {
            return "";
        }
        if ($parsed['sub_tree'] === false) {
            return $parsed['base_expr'] . "()" . $this->buildAlias($parsed);
        }
        $sql = "";
        foreach ($parsed['sub_tree'] as $k => $v) {
            $len = strlen($sql);
            $sql .= $this->build($v);
            $sql .= $this->buildConstant($v);
            $sql .= $this->buildSubQuery($v);
            $sql .= $this->buildColRef($v);
            $sql .= $this->buildReserved($v);
            $sql .= $this->buildSelectBracketExpression($v);
            $sql .= $this->buildSelectExpression($v);
            if ($len == strlen($sql)) {
                throw new UnableToCreateSQLException('function subtree', $k, $v, 'expr_type');
            }
            $sql .= $this->isReserved($v) ? " " : ",";
        }
        return $parsed['base_expr'] . "(" . substr($sql, 0, -1) . ")" . $this->buildAlias($parsed);
    }

Usage Example

 protected function buildFunction($parsed)
 {
     $builder = new FunctionBuilder();
     return $builder->build($parsed);
 }