Моя проблема в том, что я хочу подсчитать голоса за комментарий к статье. Таким образом, пользователи могут поддерживать хорошие комментарии к статье, и я хочу сначала перечислить комментарии с наибольшим количеством голосов. Подход, который я сейчас выполняю, работает с ограничением, что перечислены только голоса, которые уже были проголосованы. те, которые не указаны в таблице соединений (comments_users), игнорируются. , чтобы сделать его немного более ясно, мои таблицы пользователи, комментарии и HABTM таблицу соединения comments_users (псевдоним голосов)Заказ CakePHP по количеству результатов объединения, включая не существующие записи
мой нынешний подход:
public function commentsOfArticle($articleId){
$options['group'] = array('Comment.articleId');
$options['conditions'][] = array('Comment.article_id' => $articleId);
$options['joins'][] = array('table' => 'comments_users',
'alias' => 'Votes',
'type' => 'inner',
'conditions' => array(
'Votes.comment_id = Comment.id'
));
$options['fields'] = array('Comment.*','COUNT(Votes.user_id) AS votes');
$options['contain'] = array(.......);
$options[ 'order'] = array('votes DESC');
return $this->find('all',$options);
}
я думаю, что ключ строка
$options['fields'] = array('Comment.*','COUNT(Votes.user_id) AS votes');
можно получить те комментарии, у которых нет записи в голосовании t в конце моих результатов, только с голосами = 0?