ฉันรู้ว่าคำถามนี้ได้รับคำตอบแล้ว แต่สำหรับการใช้งานบางอย่างโซลูชันเหล่านี้ใช้ไม่ได้ อย่างไรก็ตามหลังจากทำวิจัยฉันพบวิธีแก้ไขปัญหาที่ตรงกับความต้องการของฉัน
ฉันพบวิธีแก้ปัญหาที่มีประโยชน์จริง ๆ ซึ่งทำให้ฉันสามารถแก้ไขได้ ฉันโพสต์ข้อมูลโค้ดไว้ที่ DropBucket โดยทั่วไปคุณใช้คิวรี Drupal 7 แก้ไข hook ที่ตรวจสอบแบบสอบถามมุมมองทั้งหมดสำหรับความคิดเห็นแบบสอบถามที่ระบุ groupby clause และ field จากนั้นจะเพิ่ม groupby นั้นลงในเคียวรี SQL
/**
* Found this trick on theoleschool.com.
*
* Description: Allows the view developer to specify the query
* group by action in the query comments. Great way to force the
* removal of duplicates.
*
* Just go into your query comments and type in "groupby:" with
* that colon followed by the field you want to group by.
*
* Examples...
* groupby:node.nid
* groupby:file_managed_file_usage.fid
*
* Ref-Comment: http://theoleschool.com/comment/496#comment-496
* Ref-Article: http://theoleschool.com/blog/using-hookviewsalter-add-group-statement
*/
function mymodule_query_alter(QueryAlterableInterface $query) {
if ($query->hasTag('views')) {
static $count;
$view =& $query->getMetaData('view');
if (strstr($groupby = $view->query->options['query_comment'], 'groupby')) {
list($action, $field) = explode(':', $groupby);
if (strlen($field) > 0) {
$query->groupBy($field);
}
}
}
}
http://dropbucket.org/node/153
แหล่งอ้างอิงอยู่ในความคิดเห็นในหน้า