Bu sorunun çoktan cevaplandığını biliyorum, ancak kullanımın bir kısmı için bu çözümler işe yaramıyor. Ancak, biraz araştırma yaptıktan sonra ihtiyaçlarım için işe yarayan bir çözüm buldum.
Bunu düzeltmeme izin veren gerçekten yararlı bir geçici çözüm buldum. Ben kod pasajını DropBucket'e gönderdim. Temel olarak, bir grup cümlesi ve alanı belirten sorgu yorumları için tüm görünüm sorgularını kontrol eden bir Drupal 7 sorgu değiştirme kancası uygularsınız. Sonra bu groupby'yi SQL sorgusuna ekler.
/**
* 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
Kaynak referansı sayfadaki yorumlarda yer almaktadır.