Доктрина: как вернуть количество строк записей в выражении groupby - PullRequest
1 голос
/ 31 января 2012

Похоже на такую ​​простую вещь, но я не могу получить свой запрос, чтобы вернуть количество записей в группе.Вот мое утверждение:

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 ]

2 голосов
/ 02 февраля 2012

Как предположил CappY, это не возможно в Doctrine 1.2, насколько я знаю.В качестве обходного пути я смог наконец получить счет для каждой группы, добавив еще одно поле в таблицу и установив это поле одинаково для каждой группы во время сохранения.Затем я изменил свой запрос, чтобы вытащить это поле, и просто сделал:

$q->count(); 
0 голосов
/ 02 февраля 2012

Никогда не работайте с Doctrine 1.2, но вы не можете использовать php count функцию или SELECT COUNT () AS 'cnt'?

return count ($ q);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...