Tôi đang sử dụng Lượt xem 7.x-3.6 và tôi đã thử thay đổi GROUP BY
mệ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 groupby
khoả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à.