drupal views – Mostrar solo las filas con los valores más altos

Pregunta:

Drupal 8.x

Tengo una vista que regresa:

  • UID: 1, NID: 1, VALOR: 9
  • UID: 1, NID: 3, VALOR: 8
  • UID: 1, NID: 2, VALOR: 7
  • UID: 2, NID: 9, VALOR: 5
  • UID: 2, NID: 5, VALOR: 4
  • UID: 2, NID: 7, VALOR: 3

Solo me gustaría regresar:

  • UID: 1, NID: 1, VALOR: 9
  • UID: 2, NID: 9, VALOR: 5

Mi objetivo es mostrar solo una fila por UID que contenga el VALOR más alto. Para esta vista, el NID no importa, pero es parte de la tabla de la base de datos y la consulta se envía a las vistas con hook_views_data() y se usa en otros lugares.

¿Puede el módulo Vistas lograr esto?

Respuesta:

En Drupal 7 existía el Filtro de referencia de vistas .

Básicamente, lo que busca es filtrar una vista por otra (si tiene que pasar por la interfaz y no codificar una solución personalizada). Esas consultas a la base de datos pueden ser bastante lentas, por lo que se recomienda utilizar el almacenamiento en caché.

Vistas Field View tiene la versión D8. La estrategia consiste en crear dos visualizaciones de Vistas, una con una lista de Usuarios y la otra con una lista de solo un nodo ordenado por Valor descendente y con un filtro contextual para UID. Luego inserta la segunda vista en la primera (como un campo adicional).

De esta manera, obtiene el nodo que tiene el valor más alto para el usuario en particular.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım