我正在尝试获得给定用户的总票数。
说这是帖子表
id | body | user_id | vote_total | type
1 test 1 4 new
2 test2 1 3 new
3 test3 2 2 new
我正在尝试获得以下输出
user_id | vote_total
1 7
2 2
这是我在 PostsController 中的功能
public function topvotes(){
$virtualFields = array('total' => 'SUM(Post.vote_total)');
$total = $this->Post->find('all', array(
array('fields' => array('total'),
'recursive' => 1,
'group' => array('Post.user_id'),
'conditions'=>array('Post.type' => 'new' ))));
$post = $this->Post->find('all', $total);
$this->set('posts', $post);
}
此查询有效(我尝试使用 phpmyadmin),但我不知道如何访问结果数组
编辑我使用以下查询让它工作
$query = $this->Post->query("select posts.user_id, SUM(Posts.vote_total) from posts where posts.type = 'new' group by posts.user_id");
$this->set('posts', $query);
当我输入 print_r 这是数组
Array ( [posts] => Array ( [user_id] => 7 ) [0] => Array ( [total] => 6 ) ) 1