Я знаю, что на этот вопрос уже был дан ответ, но в некоторых случаях эти решения не работают. Однако после некоторых исследований я нашел решение, которое работает для моих нужд.
Я нашел действительно полезный обходной путь, который позволил мне это исправить. Я разместил фрагмент кода в DropBucket. По сути, вы реализуете крючок изменения запроса в Drupal 7, который проверяет все запросы представлений на наличие комментариев к комментариям, которые определяют предложение и поле 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
Ссылка на источник находится в комментариях на странице.