public function toSql()
    {
        $table = $this->table();
        $values = $this->values();
        $quoteChar = $this->quoteChar();

        if(is_null($table)){
            throw new \Exception("Define table to insert.");
        }

        if (empty($this->values)) {
            throw new \Exception("No values to insert.");
        }

        // usuwam rzeczy zwiazane z przetwarzaniem zapytania
        $this->reset(true);

        // zliczam ilosc kolumn
        $count = count($this->columns);

        // tworze naglowek
        $scolumns = "";
        for ($i=0; $i < $count; $i++) {
            $column = $this->columns[$i];

            $scolumns .= "{$quoteChar}{$column}{$quoteChar}";

            if ($i != $count-1) {
                $scolumns .= ",";
            }
        }

        // values
        $svalues = "";
        $ccount = count($this->columns);
        $vcount = count($this->values);

        for ($i=0; $i < $vcount; $i++) {
            // pobieram wszystkie wartosci
            $values = $this->values[$i];

            // pobieram klucze
            $keys = array_keys($values);

            // zmienna przetrzymuje wartosci dla VALUES w insercie
            $svalues .= "(";

            for ($j=0; $j < $ccount; $j++) {
                // nazwa kolumny
                $column = $this->columns[$j];

                if (!in_array($column, $keys)) {
                    throw new \Exception("Incorrect values to insert.");
                }

                // pobieram wartosc kolumny
                $value = $values[$column];

                $direct = false;
                if (is_int($value)) {
                    $value = (int)$value;
                    $direct = true;
                }

                if (is_float($value)) {
                    $value = (float)$value;
                    $direct = true;
                }

                if (is_null($value)) {
                    $value = "null";
                    $direct = true;
                }

                if ($direct) {
                    $svalues .= "{$value}";
                }else{
                    $uId = \Labi\Database\Utility\Uid::uId();
                    $svalues .= ":$uId";
                    $this->param($uId, $value, true);
                }

                if ($j !== $ccount-1) {
                    $svalues .= ",";
                }
            }

            $svalues .= ")";

            if ($i !== $vcount-1) {
                $svalues .= ",";
            }
        }

        // budowanie insertu
        $sql = "insert into {$quoteChar}{$table}{$quoteChar} ({$scolumns}) VALUES {$svalues}";

        return $sql;
    }
public function toSql()
    {
        $table = $this->table();
        $values = $this->values();
        $quoteChar = $this->quoteChar();

        if(is_null($table)){
            throw new \Exception("Define table to insert.");
        }

        if (empty($this->values)) {
            throw new \Exception("No values to insert.");
        }

        // usuwam rzeczy zwiazane z przetwarzaniem zapytania
        $this->reset(true);

        // zliczam ilosc kolumn
        $count = count($this->columns);

        // tworze naglowek
        $scolumns = "";
        for ($i=0; $i < $count; $i++) {
            $column = $this->columns[$i];

            $scolumns .= "{$quoteChar}{$column}{$quoteChar}";

            if ($i != $count-1) {
                $scolumns .= ",";
            }
        }

        // values
        $svalues = "";
        $ccount = count($this->columns);
        $vcount = count($this->values);

        for ($i=0; $i < $vcount; $i++) {
            // pobieram wszystkie wartosci
            $values = $this->values[$i];

            // pobieram klucze
            $keys = array_keys($values);

            // zmienna przetrzymuje wartosci dla VALUES w insercie
            $svalues .= "(";

            for ($j=0; $j < $ccount; $j++) {
                // nazwa kolumny
                $column = $this->columns[$j];

                if (!in_array($column, $keys)) {
                    throw new \Exception("Incorrect values to insert.");
                }

                // pobieram wartosc kolumny
                $value = $values[$column];

                $direct = false;
                if (is_int($value)) {
                    $value = (int)$value;
                    $direct = true;
                }

                if (is_float($value)) {
                    $value = (float)$value;
                    $direct = true;
                }

                if (is_null($value)) {
                    $value = "null";
                    $direct = true;
                }

                if ($direct) {
                    $svalues .= "{$value}";
                }else{
                    $uId = \Labi\Database\Utility\Uid::uId();
                    $svalues .= ":$uId";
                    $this->param($uId, $value, true);
                }

                if ($j !== $ccount-1) {
                    $svalues .= ",";
                }
            }

            $svalues .= ")";

            if ($i !== $vcount-1) {
                $svalues .= ",";
            }
        }

        // budowanie insertu
        $sql = "insert into {$quoteChar}{$table}{$quoteChar} ({$scolumns}) VALUES {$svalues}";

        return $sql;
    }
public function toSql ( ) { $ table = $ this -> table ( ) ; $ values = $ this -> values ( ) ; $ quoteChar = $ this -> quoteChar ( ) ; if ( is_null ( $ table ) ) { throw new \ Exception ( "Define table to insert." ) ; } if ( empty ( $ this -> values ) ) { throw new \ Exception ( "No values to insert." ) ; } // usuwam rzeczy zwiazane z przetwarzaniem zapytania
 $ this -> reset ( true ) ; // zliczam ilosc kolumn
 $ count = count ( $ this -> columns ) ; // tworze naglowek
 $ scolumns = "" ; for ( $ i = 0 ; $ i < $ count ; $ i ++ ) { $ column = $ this -> columns [ $ i ] ; $ scolumns .= "{$quoteChar}{$column}{$quoteChar}" ; if ( $ i != $ count - 1 ) { $ scolumns .= "," ; } } // values
 $ svalues = "" ; $ ccount = count ( $ this -> columns ) ; $ vcount = count ( $ this -> values ) ; for ( $ i = 0 ; $ i < $ vcount ; $ i ++ ) { // pobieram wszystkie wartosci
 $ values = $ this -> values [ $ i ] ; // pobieram klucze
 $ keys = array_keys ( $ values ) ; // zmienna przetrzymuje wartosci dla VALUES w insercie
 $ svalues .= "(" ; for ( $ j = 0 ; $ j < $ ccount ; $ j ++ ) { // nazwa kolumny
 $ column = $ this -> columns [ $ j ] ; if ( ! in_array ( $ column , $ keys ) ) { throw new \ Exception ( "Incorrect values to insert." ) ; } // pobieram wartosc kolumny
 $ value = $ values [ $ column ] ; $ direct = false ; if ( is_int ( $ value ) ) { $ value = ( int ) $ value ; $ direct = true ; } if ( is_float ( $ value ) ) { $ value = ( float ) $ value ; $ direct = true ; } if ( is_null ( $ value ) ) { $ value = "null" ; $ direct = true ; } if ( $ direct ) { $ svalues .= "{$value}" ; } else { $ uId = \ Labi \ Database \ Utility \ Uid :: uId ( ) ; $ svalues .= ":$uId" ; $ this -> param ( $ uId , $ value , true ) ; } if ( $ j !== $ ccount - 1 ) { $ svalues .= "," ; } } $ svalues .= ")" ; if ( $ i !== $ vcount - 1 ) { $ svalues .= "," ; } } // budowanie insertu
 $ sql = "insert into {$quoteChar}{$table}{$quoteChar} ({$scolumns}) VALUES {$svalues}" ; return $ sql ; }
- \Labi\Operators\CreatorInterface
- \ Labi \ Operators \ CreatorInterface