Frage

Ich verwende Drupal Ansichten 2 und Notwendigkeit min Werte von Feldern in einer benutzerdefinierten Tabelle abzurufen. Die Abfrage dafür ist einfach, wenn ich wurde sie von Hand zu schreiben - "SELECT foo, min (bar) FROM Tabelle GROUP BY foo" so etwas wie, Aber wie würde ich diese Ansichten mit tun? Ich habe bereits die Tabelle in einer views.info-Datei definiert, so gibt es keine Probleme Ansichten immer die Tabelle zu sehen. Es ist die Min () Teil der Abfrage Ich verstehe nicht einfach.
Meine nächste Station wird die Ansichten API-Dokumentation, aber wenn jemand kann nur den Umriss sorgt dafür, wie dies schnell zu tun, würde ich es sehr zu schätzen.

Keine korrekte Lösung

Andere Tipps

Neue Antwort auf eine alte Frage, aber so etwas wie dies funktionieren wird. Sie benötigen ein benutzerdefiniertes Feld-Handler erstellen und dann das Feld wickeln wie folgt:

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. Verwenden Sie die Aggregation von erweiterten Konfiguration von Ansichten. Danach ist Set ja können Sie wählen, max, min oder andere Wähler auf Felder.

Ihre Ergebnisse testen, aber es sollte gut funktionieren

  1. Alternativ in einigen Fällen können Sie Ihre Daten sortieren oder aufsteigend absteigend und dann wählen Sie einfach in der Ansicht gezeigt werden, um einen zu. Kann sein problematisch, wenn mehrere Felder angezeigt wird oder so.

Nach der Prüfung zunächst scheint auf kleinen Maßstab zumindest schneller zu sein.

Man könnte erwägen die Module groupby und views_calc , aber ich nehme an, sie für Sie nicht akzeptabel sind.
Darüber hinaus können Sie dies erreichen mit einem benutzerdefinierten Modul .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top