Tôi nghĩ rằng mảng của bạn đang lộn xộn. Ngoài ra, bạn đặt các trường ảo cho mô hình ở đâu? Cuối cùng nhưng không kém phần quan trọng:tại sao lại có một truy vấn bên trong một truy vấn?
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);
}