Doctrine:如何返回groupby语句中记录的行计数

时间:2012-01-30 21:03:30

标签: doctrine

似乎这么简单,但我无法通过查询返回组中的记录数。这是我的陈述:

public function getGroupCount($user_id)
{
    $q = Doctrine_Query::create()
        ->select('ss.*')
        ->from('SalarySurvey ss')
        ->where('ss.user_id=?', $user_id)
        ->groupBy('created_at')
        ->execute();
    return $q->rowCount();
}    

rowCount()在上述查询中不起作用。

知道在foreach语句中使用它可能也会有所帮助。

2 个答案:

答案 0 :(得分:2)

正如CappY所说,据我所知,这在Doctrine 1.2中是不可能的。作为解决方法,我最终能够通过向表中添加另一个字段并在保存时为每个组设置相同的字段来计算每个分组。然后我改变了我的查询以拉出那个字段并做了一个简单的事情:

$q->count(); 

答案 1 :(得分:0)

永远不要使用Doctrine 1.2,但不能使用php的count函数或SELECT COUNT()AS'cnt'吗?

返回计数($ q);