/** * Salva o objeto * @return Model */ public function save() { $this->preSave(); //$colunas = ''; //$cols = array(); /** * Ibe_Database_Query */ $query = null; $insert = false; if (!isset($this->columns_val[$this->primary_key]) || empty($this->columns_val[$this->primary_key])) { $query = Ibe_Database_Query::newInsert($this->table_name); $insert = true; } else { $query = Ibe_Database_Query::newUpdate($this->table_name)->addWhere(Ibe_Database_Query::newWhere($this->primary_key, $this->columns_val[$this->primary_key])); } foreach ($this->columns_val as $key => $param) { if ($key != $this->primary_key) { $query->addField($key, $param); } else { if (!$this->primary_key_auto_increment && $query->getType() != Ibe_Database_Query::UPDATE) { $query->addField($key, $param); } } } //Ibe_Debug::dispatchError(__FILE__, $query->getQuery()); $query->execute(false); if ($insert && $this->primary_key_auto_increment) { $this->columns_val[$this->primary_key] = mysql_insert_id(); } $this->posSave(); return $this; }