/** * 删除指定key的缓存,若$key===true则表示删除全部 * * @param string $key */ public function delete($key) { if (true !== $key) { $this->db->where('key', $key); } elseif (\is_array($key)) { $this->db->in('key', $key); } try { $this->db->delete($this->tablename); return true; } catch (\Exception $e) { \Core::debug()->error($e->getMessage()); return false; } }
/** * 删除指定key的缓存,若$key===true则表示删除全部 * * @param string $key */ public function delete($key) { if (IS_DEBUG) { Core::debug()->info($key, 'database delete key'); } if (true !== $key) { $this->_handler->where('key', $key); } elseif (is_array($key)) { $this->_handler->in('key', $key); } try { $this->_handler->delete($this->tablename); return true; } catch (Exception $e) { Core::debug()->error($e->getMessage()); return false; } }
/** * 删除指定key的缓存,若$key===true则表示删除全部 * * @param string $key */ public function delete($key) { if (IS_DEBUG) { Core::debug()->info($key, 'database storage delete key'); } if (is_array($key)) { $new_keys = array(); foreach ($key as $k) { $k = $this->prefix . $k; $new_keys[] = md5($k); } $this->_handler->in('key', $new_keys); } elseif (true !== $key) { $key = $this->prefix . $key; $this->_handler->where('key', $key); } try { $this->_handler->delete($this->tablename); return true; } catch (Exception $e) { Core::debug()->warn($e->getMessage()); return false; } }
public function get_objects_of_this_kind_created_by(User_model $author, $object_names, $mode = Workshop_Core::AS_MIXED_ARRAY) { $database = new Database(); $database->select('object_name, object_id'); $database->from('workshop_data'); $database->where(array('user_id' => $author->id)); if ($object_names != null) { if (!is_array($object_names)) { $database->where('object_name', $object_names); } else { $database->in('object_name', $object_names); } } $database->orderby(array('object_name' => 'ASC', 'object_id' => 'ASC')); $results = $database->get(); $array_of_objects = array(); switch ($mode) { case Workshop_Core::AS_MIXED_ARRAY: foreach ($results as $row) { $array_of_objects[] = ORM::factory($row->object_name, $row->object_id); } break; case Workshop_Core::AS_HIERARCHICAL_ARRAY: foreach ($results as $row) { $array_of_objects[$row->object_name][] = ORM::factory($row->object_name, $row->object_id); } break; default: break; } return $array_of_objects; }
private function updateDownloaded($idList, $mode) { if (!is_array($idList) || count($idList) == 0) { return; } if ($mode != 'INITIAL' && $mode != 'FINAL') { return; } $downloaded_on = date("Ymd H:i:s"); $db = new Database(); // use default access so can update. $db->query('START TRANSACTION READ WRITE;'); $response = $db->in("id", $idList)->where("downloaded_flag", $mode == 'FINAL' ? 'I' : 'N')->update('occurrences', array('downloaded_flag' => $mode == 'FINAL' ? 'F' : 'I', 'downloaded_on' => $downloaded_on, 'updated_on' => $downloaded_on)); $response = $db->in("id", $idList)->where("downloaded_flag", $mode == 'FINAL' ? 'I' : 'N')->update('cache_occurrences', array('downloaded_flag' => $mode == 'FINAL' ? 'F' : 'I')); $db->query('COMMIT;'); }