ฉันใช้ Views 7.x-3.6 และฉันพยายามแก้ไขGROUP BY
clause ด้วยhook_views_query_alter()
ดังนี้:
function mymodule_views_query_alter(&$view, &$query) {
if ($view->name == "view_name"){
$query->add_groupby('field_name');
dpm($query);
}
}
เมื่อฉันมองใน$query
, ข้อถูกเปิดใช้งานได้อย่างถูกต้องแต่แบบสอบถาม SQL ไม่ได้รับผลกระทบคือประโยคไม่ปรากฏ:groupby
GROUP BY
ในที่สุดสิ่งที่ฉันทำคือการใช้ Drupal core hook ( hook_query_alter()
) และทำงานได้ดี: SQL ได้รับผลกระทบแล้ว
function mymodule_query_alter(QueryAlterableInterface $query) {
$view_name = 'view_name';
if ($query->hasTag('views_' . $view_name)) {
$query->groupBy('field_name');
}
}
ทำไมฉันถึงhook_views_query_alter()
ไม่ทำงาน? ฉันสงสัยว่ามีวิธีที่สะอาดกว่าในการทำและ