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

Doctrine 原则:如何返回groupby语句中记录的行数,doctrine,Doctrine,看起来很简单,但我无法让我的查询返回组中的记录数。以下是我的声明: public function getGroupCount($user_id) { $q = Doctrine_Query::create() ->select('ss.*') ->from('SalarySurvey ss') ->where('ss.user_id=?', $user_id) ->groupBy('created_

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

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语句中正在使用它也可能会有所帮助。

永远不要使用原则1.2,但不能使用php函数或选择COUNT()作为“cnt”吗


返回计数(q美元)

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

$q->count(); 

我尝试了类似于你建议的东西,但没有成功。然而,我能够解决我的问题,我将在回答中发布。但是你是对的。。。至少到目前为止这是我的经历。。。该学说不允许这样做。所以,请把你的答案留给那些偶然发现这个问题并寻求答案的人。