Question

J'utilise Vues de Drupal 2, et doivent récupérer les valeurs min des champs dans une table personnalisée. La requête en est facile si je en train d'écrire à la main - quelque chose comme, « SELECT foo, min (bar) DU GROUPE table Foo. » Mais comment pourrais-je faire cela en utilisant Vues? Je l'ai déjà défini la table dans un fichier views.info, donc il n'y a pas de mal à obtenir des vues pour voir le tableau. Il est la partie de la requête Min () Je ne comprends pas.
Mon prochain arrêt sera la documentation de l'API vues, mais si quelqu'un peut simplement fournir les grandes lignes de la façon de le faire rapidement, je serais très heureux.

Pas de solution correcte

Autres conseils

Nouvelle réponse à une question ancienne, mais quelque chose comme cela va fonctionner. Vous devez créer un gestionnaire de champ personnalisé, puis envelopper le champ comme suit:

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. Utiliser l'agrégation de configuration avancée de vues. Après ce paramètre est réglé oui vous pouvez sélectionner max, min ou tout autre sélecteur champs.

Testez vos résultats, mais il faut bien travailler

  1. Vous pouvez également, dans certains cas, vous pouvez trier vos données par ordre croissant ou descendant et puis juste choisir un à afficher sur la vue. Peut être problématique lors de l'affichage de plusieurs champs ou environ.

Après avoir testé la première semble être plus rapide au moins à petite échelle.

On pourrait considérer les modules groupby et views_calc , mais je suppose qu'ils ne sont pas acceptables pour vous.
De plus, vous pouvez y arriver avec un personnalisé .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top