Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Другие движки / фрейморки > COUNT() в запросе в фреймворке Yii


Автор: ИстинА 28.3.2015, 14:07
Подскажите, пожалуйста, как сделать выборку из базы с агрегатной функцией COUNT?
Запрос нужен вот такой (выбрать все записи в блоге с количеством комментариев к каждой):
Код

SELECT p.*, COUNT(c.id) AS comment_count
FROM posts p LEFT JOIN comments c ON c.post_id = p.id
WHERE p.active = 1
GROUP BY p.id

Через $command = Yii::app()->db->createCommand() работает, но мне нужно через CDbCriteria, чтобы сделать постраничную навигацию.
Вот это не работает (хотя гугл утверждает обратное):
Код

$criteria->alias = "p";
$criteria->select = "p.*, COUNT(c.id) as comment_count";
$criteria->join = "LEFT JOIN comments c ON (c.post_id = p.id)";
$criteria->group = "p.id";
$criteria->order = 'date DESC';

Выдаёт только записи из таблицы постов, а колонка со счётчиком комментариев comment_count отсутствует.

Подскажите, как правильно? Заранее большое спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)