Owl/Owl.php
function Insert($model){

        $this->OpenTransaction();

        $data = clone $model;

        $table = $this->getTableName($data);

        //verifico se é um objeto
        if (is_object($data))
            ModelState::ModelTreatment($data);

        $data = (array)$data;


        // Ordena
        ksort($data);

        // Campos e valores
        $camposNomes = implode('`, `', array_keys($data));
        $camposValores = ':' . implode(', :', array_keys($data));


        // Prepara a Query
        $sth = $this->prepare("INSERT INTO $table (`$camposNomes`) VALUES ($camposValores)");

        // Define os dados
        foreach ($data as $key => $value) {
            // Se o tipo do dado for inteiro, usa PDO::PARAM_INT, caso contr�rio, PDO::PARAM_STR
            $tipo = (is_int($value)) ? \PDO::PARAM_INT : \PDO::PARAM_STR;

            // Define o dado
            $sth->bindValue(":$key", $value, $tipo);
        }

        // Executa
        try {
            $sth->execute();
        }catch (\Exception $e){
            echo $e->getMessage();
        }

        $primaryKey = ModelState::GetPrimary($model);
        if(!empty($primaryKey))
            $model->$primaryKey = $this->lastInsertId();
        return $this->lastInsertId();
    }
function Insert($model){

        $this->OpenTransaction();

        $data = clone $model;

        $table = $this->getTableName($data);

        //verifico se é um objeto
        if (is_object($data))
            ModelState::ModelTreatment($data);

        $data = (array)$data;


        // Ordena
        ksort($data);

        // Campos e valores
        $camposNomes = implode('`, `', array_keys($data));
        $camposValores = ':' . implode(', :', array_keys($data));


        // Prepara a Query
        $sth = $this->prepare("INSERT INTO $table (`$camposNomes`) VALUES ($camposValores)");

        // Define os dados
        foreach ($data as $key => $value) {
            // Se o tipo do dado for inteiro, usa PDO::PARAM_INT, caso contr�rio, PDO::PARAM_STR
            $tipo = (is_int($value)) ? \PDO::PARAM_INT : \PDO::PARAM_STR;

            // Define o dado
            $sth->bindValue(":$key", $value, $tipo);
        }

        // Executa
        try {
            $sth->execute();
        }catch (\Exception $e){
            echo $e->getMessage();
        }

        $primaryKey = ModelState::GetPrimary($model);
        if(!empty($primaryKey))
            $model->$primaryKey = $this->lastInsertId();
        return $this->lastInsertId();
    }
function Insert ( $ model ) { $ this -> OpenTransaction ( ) ; $ data = clone $ model ; $ table = $ this -> getTableName ( $ data ) ; //verifico se é um objeto if ( is_object ( $ data ) ) ModelState :: ModelTreatment ( $ data ) ; $ data = ( array ) $ data ; // Ordena ksort ( $ data ) ; // Campos e valores $ camposNomes = implode ( '`, `' , array_keys ( $ data ) ) ; $ camposValores = ':' . implode ( ', :' , array_keys ( $ data ) ) ; // Prepara a Query $ sth = $ this -> prepare ( "INSERT INTO $table (`$camposNomes`) VALUES ($camposValores)" ) ; // Define os dados foreach ( $ data as $ key => $ value ) { // Se o tipo do dado for inteiro, usa PDO::PARAM_INT, caso contr�rio, PDO::PARAM_STR $ tipo = ( is_int ( $ value ) ) ? \ PDO :: PARAM_INT : \ PDO :: PARAM_STR ; // Define o dado $ sth -> bindValue ( ":$key" , $ value , $ tipo ) ; } // Executa try { $ sth -> execute ( ) ; } catch ( \ Exception $ e ) { echo $ e -> getMessage ( ) ; } $ primaryKey = ModelState :: GetPrimary ( $ model ) ; if ( ! empty ( $ primaryKey ) ) $ model -> $ primaryKey = $ this -> lastInsertId ( ) ; return $ this -> lastInsertId ( ) ; }
Insere dados no banco atraves de uma model mapeada
@param $model
@return string
Insere dados no banco atraves de uma model mapeada