Страница 1 из 1

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

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

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

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

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

Добавлено: 2020.03.15, 14:12
yiiliveext

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

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

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

Добавлено: 2020.03.19, 14:04
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')
Спасибо большое!