Количество комментариев для каждого поста

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Arroyo
Сообщения: 104
Зарегистрирован: 2014.11.29, 11:24

Количество комментариев для каждого поста

Сообщение Arroyo »

Здравствуйте. Подскажите как в списке постов вывести количество комментариев со статусом 1 (status=1) для каждого поста?
Следующий пример считает все комментарии. Как бы мне добавить туда условие для комментариев только со status=1 ?

Код: Выделить всё

'query' => News::find()->select(['news.*', 'COUNT(comment.id) AS comment_count'])
                ->joinWith('comments')
                ->groupBy('news.id')

yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Количество комментариев для каждого поста

Сообщение yiiliveext »

Код: Выделить всё

'query' => News::find()->select(['news.*', 'COUNT(comment.id) AS comment_count'])
                ->joinWith(['comments' => function ($q) {
                    return $q->andOnCondition(['status' => 1]);
                }])
                ->groupBy('news.id')

Arroyo
Сообщения: 104
Зарегистрирован: 2014.11.29, 11:24

Re: Количество комментариев для каждого поста

Сообщение Arroyo »

yiiliveext писал(а):
2020.03.15, 14:12

Код: Выделить всё

'query' => News::find()->select(['news.*', 'COUNT(comment.id) AS comment_count'])
                ->joinWith(['comments' => function ($q) {
                    return $q->andOnCondition(['status' => 1]);
                }])
                ->groupBy('news.id')
Спасибо большое!

Ответить