Tôi đang sử dụng Lượt xem 7.x-3.6 và tôi đã thử thay đổi GROUP BYmệnh đề hook_views_query_alter()như dưới đây:
function mymodule_views_query_alter(&$view, &$query) {
if ($view->name == "view_name"){
$query->add_groupby('field_name');
dpm($query);
}
}
Khi tôi nhìn vào $query, các groupbykhoản được kích hoạt một cách chính xác nhưng các truy vấn SQL không bị ảnh hưởng : các GROUP BYđiều khoản không xuất hiện:

Điều cuối cùng tôi đã làm là sử dụng hook core Drupal ( hook_query_alter()) và nó hoạt động tốt: SQL hiện bị ảnh hưởng.
function mymodule_query_alter(QueryAlterableInterface $query) {
$view_name = 'view_name';
if ($query->hasTag('views_' . $view_name)) {
$query->groupBy('field_name');
}
}
Bất kỳ lý do tại sao của tôi hook_views_query_alter()không làm việc? Tôi tự hỏi nếu có một cách sạch hơn để làm điều đó và.