public function store()
 {
     if (empty($this->data['codigo']) or !$this->load($this->codigo)) {
         /*if (empty($this->data['codigo'])) 
         		{
         			$this->codigo = $this->getLast() +1;
         		}*/
         // cria instrução SQL
         $sql = new TSqlInsert();
         $sql->addEntity($this->getEntity());
         // percorre dados do objeto
         foreach ($this->data as $key => $value) {
             // passa os dados do objeto para o SQL
             $sql->setRowData($key, $this->{$key});
         }
     } else {
         // cria instru��o UPDATE
         $sql = new TSqlUpdate();
         $sql->addEntity($this->getEntity());
         $criteria = new TCriteria();
         $criteria->add(new TFilter('codigo', ' = ', $this->codigo));
         $sql->setCriteria($criteria);
         // percorre dados do objeto
         foreach ($this->data as $key => $value) {
             if ($key !== 'codigo') {
                 // passa os dados do objeto para o SQL
                 $sql->setRowData($key, $this->{$key});
             }
         }
     }
     if ($conn = TTransaction::get()) {
         $result = $conn->exec($sql->getInstruction());
         return $result;
     } else {
         throw new Exception('Não há transação ativa');
     }
 }
Ejemplo n.º 2
0
 /**
  * Método store
  * Armazena o objeto na base de dados e retorn o número de linhas afetadas pela instrução SQL (0 ou 1)
  * 
  * @access public
  * @throws Exception   Não há transação ativa
  * @return int         Numero de linhas afetadas pela instrução SQL
  */
 public function store()
 {
     if (empty($this->codigo) or !$this->load($this->codigo)) {
         // cria instrução SQL
         $sql = new TSqlInsert();
         $sql->addEntity($this->getEntity());
         // percorre dados do objeto
         foreach ($this->getVars() as $key => $value) {
             // passa os dados do objeto para o SQL
             $sql->setRowData($key, $this->{$key});
         }
     } else {
         // cria instrução UPDATE
         $sql = new TSqlUpdate();
         $sql->addEntity($this->getEntity());
         $criteria = new TCriteria();
         $criteria->addFilter('codigo', ' = ', $this->codigo);
         $sql->setCriteria($criteria);
         // percorre dados do objeto
         foreach ($this->getVars() as $key => $value) {
             if ($key !== 'codigo') {
                 // passa os dados do objeto para o SQL
                 $sql->setRowData($key, $this->{$key});
             }
         }
     }
     //RECUPERA CONEXAO BANCO DE DADOS
     TTransaction::open('my_bd_site');
     //echo $sql->getInstruction();
     if ($conn = TTransaction::get()) {
         $result = $conn->exec($sql->getInstruction());
         TTransaction::close();
         return $result;
     } else {
         throw new Exception('Não há transação ativa');
     }
 }