原则:如何返回groupby语句中记录的行数



看起来很简单,但我无法通过查询返回组中的记录数。以下是我的声明:

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语句中使用了这一点可能也会有所帮助。

正如CappY所建议的,据我所知,这在条令1.2中是不可能的。作为一种变通方法,我最终能够通过向表中添加另一个字段并在节省时间的情况下为每个组设置相同的字段来获得每个分组的计数。然后我更改了查询以提取该字段,只做了一个简单的操作:

$q->count(); 

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

退货计数($q);

最新更新