PHPSQLParser\builders\SelectStatementBuilder::build PHP Method

build() public method

public build ( array $parsed )
$parsed array
    public function build(array $parsed)
    {
        $sql = "";
        if (isset($parsed['SELECT'])) {
            $sql .= $this->buildSELECT($parsed['SELECT']);
        }
        if (isset($parsed['FROM'])) {
            $sql .= " " . $this->buildFROM($parsed['FROM']);
        }
        if (isset($parsed['WHERE'])) {
            $sql .= " " . $this->buildWHERE($parsed['WHERE']);
        }
        if (isset($parsed['GROUP'])) {
            $sql .= " " . $this->buildGROUP($parsed['GROUP']);
        }
        if (isset($parsed['HAVING'])) {
            $sql .= " " . $this->buildHAVING($parsed['HAVING']);
        }
        if (isset($parsed['ORDER'])) {
            $sql .= " " . $this->buildORDER($parsed['ORDER']);
        }
        if (isset($parsed['LIMIT'])) {
            $sql .= " " . $this->buildLIMIT($parsed['LIMIT']);
        }
        if (isset($parsed['UNION'])) {
            $sql .= " " . $this->buildUNION($parsed);
        }
        if (isset($parsed['UNION ALL'])) {
            $sql .= " " . $this->buildUNIONALL($parsed);
        }
        return $sql;
    }

Usage Example

Example #1
0
 public function build(array $parsed)
 {
     $sql = "";
     if (array_key_exists("UNION ALL", $parsed) || array_key_exists("UNION", $parsed)) {
         foreach ($parsed as $union_type => $outer_v) {
             $first = true;
             foreach ($outer_v as $item) {
                 if (!$first) {
                     $sql .= " {$union_type} ";
                 } else {
                     $first = false;
                 }
                 $select_builder = new SelectStatementBuilder();
                 $len = strlen($sql);
                 $sql .= $select_builder->build($item);
                 if ($len === strlen($sql)) {
                     throw new UnableToCreateSQLException('FROM', $union_type, $outer_v, 'expr_type');
                 }
             }
         }
     } else {
         foreach ($parsed as $k => $v) {
             $len = strlen($sql);
             $sql .= $this->buildTable($v, $k);
             $sql .= $this->buildTableExpression($v, $k);
             $sql .= $this->buildSubquery($v, $k);
             if ($len == strlen($sql)) {
                 throw new UnableToCreateSQLException('FROM', $k, $v, 'expr_type');
             }
         }
     }
     return "FROM " . $sql;
 }
All Usage Examples Of PHPSQLParser\builders\SelectStatementBuilder::build