/** * Delete the object. * If we're using logical deletion, mark it deleted and save it, otherwise, delete as usual * * @see active_record::delete() */ public function delete() { if ($this->use_logical_deletion()) { db_update($this->get_table_name())->fields(array('deleted' => 'Yes'))->condition($this->get_table_primary_key(), $this->get_id())->execute(); return TRUE; } else { return parent::delete(); } }
public static function multiple($fields = array("*"), $where = array(), $sort = array(), $order = "DESC", $offset = 0, $limit = 0) { $return = array(); $sql = "SELECT %s FROM %s%s%s%s;"; $fields_str = ""; if (empty($fields) || self::$settings['class'] != "") { $fields_str = "*"; } else { if (str_replace("`", "", $fields[0]) == "*") { $fields_str = "*"; } else { foreach ($fields as $field) { if ($field != "*") { $fields_str .= sprintf("%s, ", self::filter_field($field)); } } $fields_str = substr($fields_str, 0, -2); } } $sql = sprintf($sql, $fields_str, self::filter_table(self::$settings['table']), self::where_str($where), self::order_str($sort, $order), self::limit_str($offset, $limit)); debug::set('sql', self::$settings['class'] . '::' . __FUNCTION__, $sql); $rows = parent::rows($sql); foreach ($rows as $row) { $return[] = $row; } if (self::$settings['class'] != "") { $return_objs = array(); foreach ($return as $r) { self::instance(); utils::array_to_object($r, self::$_instance); $return_objs[] = self::$_instance; self::$_instance = null; } return $return_objs; } return $return; }