예제 #1
0
파일: orm.php 프로젝트: jimktrains/rccms
 public function save()
 {
     if (!array_key_exists($this->_version_coloumn_name, $this->_object) or is_null($this->_object[$this->_version_coloumn_name]) or $this->_object[$this->_version_coloumn_name] < 1) {
         $this->_object[$this->_version_coloumn_name] = 1;
     }
     parent::save();
 }
예제 #2
0
파일: ORM.php 프로젝트: HappyKennyD/teest
 public function save(Validation $validation = null)
 {
     $event = $this->loaded() ? 'edit' : 'create';
     $save = parent::save($validation);
     $count = 0;
     if (count($this->_log_fields) && $save) {
         $log = ORM::factory('Log');
         $log->event = $event;
         $log->model = get_class($this);
         if (isset(Auth::instance()->get_user()->id)) {
             $log->user_id = Auth::instance()->get_user()->id;
         } else {
             $log->user_id = 0;
         }
         $log->content_id = $this->pk();
         $log->date = date("Y.m.d H:i:s");
         $log->language = I18n::$lang;
         if (isset($this->_log_fields['title'])) {
             $log->title = !empty($this->{$this->_log_fields['title']}) ? $this->{$this->_log_fields['title']} : 'Пустой заголовок';
         } else {
             $log->title = 'Без заголовка';
         }
         foreach ($this->_log_fields as $field) {
             $count += $log->countThis($this->{$field});
         }
         $log->count = $count;
         $log->save();
     }
     return $save;
 }
예제 #3
0
 public function save()
 {
     if (($this->empty_pk() || isset($this->_changed[$this->_primary_key])) && $this->_get_currval) {
         $connection = $this->_db->get_connection();
         $connection->beginTransaction();
         try {
             parent::save();
             $result = $this->_db->query(Database::SELECT, 'select currval(\'' . $this->sequence_name() . '\') ' . 'as last_insert_id', false);
             $result = $result->as_array();
             $last_insert_id = $result[0]['last_insert_id'];
             $this->_object[$this->_primary_key] = $last_insert_id;
         } catch (Exception $e) {
             try {
                 $connection->rollBack();
             } catch (Exception $ee) {
             }
             throw $e;
         }
         $connection->commit();
     } else {
         return parent::save();
     }
 }
예제 #4
0
파일: orm.php 프로젝트: refo/kohana
 public function save(Validation $validation = NULL)
 {
   $this->_update_jsoncols();
   return parent::save($validation);
 }