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; }
这只显示表格中的第一个数据。
我该怎么做?
答案 0 :(得分:3)
将循环更改为:
foreach ($count as $c) {
echo $c->count . "\n";
}
编辑: 调试这个的好方法是将你的回报改为
$q->fetchArray();
然后在你的循环中
print_r($c);