示例#1
0
 /**
  * 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;
 }