在Doctrine Symfony中排序和统计

时间:2011-10-07 09:43:11

标签: php mysql sql symfony1 doctrine

id  | name 
1   | aaa  
2   | bbb  
3   | ccc  
4   | ccc  
5   | aaa  
6   | ccc  
7   | ccc  
8   | aaa  
9   | bbb  
10  | ccc  
11  | aaa

我想成为:

name | count
ccc  | 5
aaa  | 4
bbb  | 2

orderby count DESC

我做了:

public function getCount() 
{        
        $q = $this->createQuery('q')
            ->select('*')
            ->addSelect('count(q.name) as count')
            ->groupBy('q.name')
            ->orderBy('count DESC');

        return $q->execute();        
}

但是如果:

foreach ($count as $c) {
  echo $c;
}

这只显示表格中的第一个数据。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

将循环更改为:

foreach ($count as $c) {
  echo $c->count . "\n";
}

编辑: 调试这个的好方法是将你的回报改为

$q->fetchArray();

然后在你的循环中

print_r($c);