Комплекс STAT GROUP BY для Yii - PullRequest
       19

Комплекс STAT GROUP BY для Yii

0 голосов
/ 28 ноября 2011

Я пытаюсь сделать сложный STAT в функции отношения модели.

В основном:

'stats' => array(self::STAT, 'Comments', 'post_id', 'select'=>'COUNT(id) AS total_comments, SUM(comment_rating) AS comment_rating')

Но Yii этого не допустит. Итак, я сделал self :: HAS_ONE, но Yii выполняет объединение и группировку по всему запросу после получения данных модели.

Я хочу либо заставить работать STAT, чтобы он делал одну группу для разных данных, либо получить эффект, при котором необработанный SQL становится

SELECT * FROM Posts p LEFT JOIN (SELECT .....) AS comments_data CD ON p.id=CD.post_id

Возможно ли что-нибудь из этого?

1 Ответ

1 голос
/ 04 февраля 2012

Вам нужно использовать два отношения STAT:

'commentCount'=>array(self::STAT, 'Comment', 'post_id'),
'ratingSum'=>array(self::STAT, 'Comment', 'post_id', 'select'=>'SUM(comment_rating)'),

Невозможно объединить их в один, используя STAT.

...