/** * Ejecuta un SELECT DISTINCT * @param string $what * @return array * * Soporta parametros iguales a find * */ public function distinct($what = '') { $what = Util::getParams(func_get_args()); if ($this->schema) { $table = $this->schema . "." . $this->source; } else { $table = $this->source; } if (!isset($what['columns'])) { $what['columns'] = $what['0']; } else { if (!$what['columns']) { $what['columns'] = $what['0']; } } $what['columns'] = ActiveRecord::sql_sanizite($what['columns']); $select = "SELECT DISTINCT {$what['columns']} FROM {$table} "; /** * Se elimina el de indice cero ya que por defecto convert_params_to_sql lo considera como una condicion en WHERE */ unset($what[0]); $select .= $this->convert_params_to_sql($what); $results = array(); foreach ($this->db->fetch_all($select) as $result) { $results[] = $result[0]; } return $results; }