Domanda

Sto usando Vista di Drupal 2, e la necessità di recuperare i valori minimo da campi di una tabella personalizzata. La query per questo è facile se stessi scrivendo a mano - "SELEZIONA foo, min (bar) FROM tabella GROUP BY foo" qualcosa di simile, Ma come faccio a fare questo usando Vista? Ho già definito la tabella in un file views.info, quindi non c'è nessuna difficoltà a trovare una vista per vedere la tabella. E 'la parte Min () della query io proprio non capisco.
La mia prossima tappa sarà la documentazione delle API Visualizzazioni, ma se qualcuno può semplicemente fornire il contorno per sapere come fare in fretta, mi sarebbe molto grato.

Nessuna soluzione corretta

Altri suggerimenti

Nuova risposta ad una vecchia questione, ma qualcosa di simile funzionerà. È necessario creare un gestore campo personalizzato e poi avvolgere il campo come segue:

class views_handler_custom_field extends views_handler_field {

  function query() {
    $this->ensure_my_table();
    $this->field_alias = $this->query->add_field("MAX({$this->table_alias}", "{$this->real_field})",$this->table_alias . "_" . $this->real_field);
  }
}
  1. Usa aggregazione dalla configurazione avanzata di punti di vista. Dopo questo è impostato Sì, è possibile selezionare massimo, minimo o qualsiasi altro selettore per i campi.

Verificare i risultati ma dovrebbe funzionare bene

  1. In alternativa, in alcuni casi è possibile ordinare il vostro ascendente di dati o discendente e poi basta scegliere uno da essere visualizzata sulla vista. Può essere problematico quando la visualizzazione di più campi o giù di lì.

Dopo aver testato primo sembra essere più veloce almeno su piccola scala.

Si potrebbe prendere in considerazione i moduli groupby e views_calc , ma suppongo che non sono accettabili per voi.
Inoltre, è possibile raggiungere questo obiettivo con una modulo personalizzato .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top