/** * Efetua um update baseado em clausulas where * * <p>Qualquer parametro depois de $clause sera usado como prepared statement * para atualizacao dos dados. * Caso for usar prepared statement, colocar o alias do objeto como a letra "o" * </p> * * @author Hugo Ferreira da Silva * @link http://www.hufersil.com.br * @param array $data Dados a serem atualizados * @param string $clause condicao para atualizacao * @return void */ public function updateWhere(array $data, $clause) { $this->obj->reset(); $this->obj->setFrom($data); $this->obj->alias('o'); $args = func_get_args(); array_shift($args); // se a pessoa passou parametros a mais do que a clausula if ($args > 1) { // entao eh prepared statement, chamamos o where com os argumentos call_user_func_array(array($this->obj, 'where'), $args); } else { // NAO eh prepared statement, chamamos o where $this->obj->where($clause); } $this->obj->update(true); }