あなたのアレイはめちゃくちゃだと思います。また、モデルの仮想フィールドをどこに設定しますか?最後になりましたが、クエリ内にクエリを設定する理由
public function topvotes() {
$this->Post->virtualFields = array('total' => 'SUM(Post.vote_total)');
$posts = $this->Post->find('all', array(
'fields' => array('total'),
'recursive' => 1,
'group' => array('Post.user_id'),
'conditions'=>array('Post.type' => 'new')
));
$this->set('posts', $posts);
}