public function execute() { $sql = $this->build_sql(); $values = $this->build_sql_values(); $db = DatabaseManager::get_database($this->dbname, $this->dbid); $class_name = $this->result_name; switch ($this->type) { case 'none': $result = $db->query($sql, $values); break; case 'one': $result = $class_name::build($db->query_and_fetch_one($sql, $values), false); break; case 'many': $result = $db->query_and_fetch($sql, function ($row) use($class_name, $db) { return $class_name::build($row, false, $db); }, $values); break; default: throw new DatabaseException("Invalid Type {$this->type}"); break; } $this->result = $result; return $result; }
public function destroy() { $table = static::$table; $pk = static::$primary_key; $sql = "DELETE FROM {$table} WHERE {$pk}='{$this->{$pk}}'"; if (isset(static::$dbid)) { $db = DatabaseManager::get_database(static::$dbname, static::$dbid); } else { $db = DatabaseManager::get_database(static::$dbname, null); } $db->query($sql); return true; }