пользователь счета symfony - PullRequest
2 голосов
/ 30 июля 2011

Я использую Symfony 1.4.12 с доктриной. У меня есть таблица sfGuardUser; Я могу посчитать все записи так:

 $count_user=Doctrine::getTable('sfGuardUser')->count();

У меня есть поле в таблице "creation_at"; Если можно посчитать всех пользователей, то где создано в текущем году? Спасибо!

Ответы [ 2 ]

3 голосов
/ 30 июля 2011
$first_day_of_current_year = date('Y-m-d H:i:s', strtotime('1 january'));

$q = Doctrine_Query::create()
  ->select('COUNT(u.*)')
  ->from('sfGuardUser u')
  ->where('u.created_at > ?', $first_day_of_current_year);
$total = $q->execute(array(), Doctrine_Core::HYDRATE_NONE);
$total = $total[0][0];
1 голос
/ 27 августа 2012

Существуют различные способы получить счет коллекции записей.Doctrine автоматически создает запрос подсчета, когда вы вызываете функцию -> count () для объекта запроса или экземпляра таблицы.

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

$query = Doctrine_Query::create()
  ->from('sfGuardUser');
// alternative query retrieval
// $query = sfGuardUserTable::getInstance()->createQuery();
// all users
$totalUsers = $query->count();
// users created this year
$query->where('YEAR(created_at) = ?', date('Y'));
$totalUsersThisYear = $query->count();
...