Ich verwende Views 7.x-3.6 und habe versucht, die GROUP BY
Klausel hook_views_query_alter()
wie folgt zu ändern :
function mymodule_views_query_alter(&$view, &$query) {
if ($view->name == "view_name"){
$query->add_groupby('field_name');
dpm($query);
}
}
Wenn ich nachschaue $query
, ist die groupby
Klausel korrekt aktiviert, aber die SQL-Abfrage ist nicht betroffen : Die GROUP BY
Klausel wird nicht angezeigt:
Was ich schließlich getan habe, ist die Verwendung eines Drupal-Core-Hooks ( hook_query_alter()
) und es hat gut funktioniert: Das SQL ist jetzt betroffen.
function mymodule_query_alter(QueryAlterableInterface $query) {
$view_name = 'view_name';
if ($query->hasTag('views_' . $view_name)) {
$query->groupBy('field_name');
}
}
Gibt es einen Grund, warum mein hook_views_query_alter()
nicht funktioniert? Ich frage mich, ob es einen saubereren Weg gibt und.