Да, подкинули мне задачку на часик... Проблема MySQL в том, что нельзя выполнить сначала сортировку, а потом группировку. Можно только выполнить группировку, а в ней сортировка уже на воле Ктулху. В итоге приходится лепить подзапрос, в котором сортируешь или выборку максимальных делаешь. А такая задача в одном объекте xPDOQuery нереальна. Вот подзапросик добавил в процессор: // Получаем последние комментарии из этих топиков
if($this->getProperty('one_comment_per_thread')){
$ids = array();
$sub_query = $this->modx->newQuery($this->classKey);
$sub_query->select(array(
"max(id) as id",
"thread_id",
));
$sub_query->groupby('thread_id');
$s = $sub_query->prepare();
$s->execute();
while($row = $s->fetch(PDO::FETCH_ASSOC)){
$ids[] = $row['id'];
}
if($ids){
$query->where(array(
"id:in" => $ids,
));
}
} Сейчас выборка последних комментов по одному на диалоговую ветку. А вот верстка будет позже подправлена.