public function update($primary_value, $data, $skip_validation = false) { $this->flush_caches(); /* return FALSE on failure data validated & filtered */ $data = $this->validate($data, $skip_validation); $groups = $data['access']; if ($data !== FALSE) { unset($data['access']); /* passed by ref */ parent::protect_attributes($data); $result = $this->_database->where($this->primary_key, $primary_value)->set($data)->update($this->table); $this->log_last_query(); /* ok now update the groups - if any */ $this->o_role_access_model->save($primary_value, $groups); return $result; } return FALSE; }