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'); } }
/** * 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'); } }