Yii2 сортировка по количеству связанных материалов?

Есть такое. Выбираются теги в месте с страницами к которым этот тег привязан.
Но мне нужно не выбирать весь список, а просто подсчитаь количество привязанных материалов + сортировать по этому количеству
public function getPages()
    {
        return $this
            ->hasMany(Page::className(), ['id_page' => 'id_page'])
            ->viaTable(TagJoinPage::tableName(), ['id_tag' => 'id_tag']);
    }

    public function getDataProvider()
    {
        return new ActiveDataProvider(['query' => self::find()->joinWith(['pages'])]);
    }
  • Вопрос задан
  • 34 просмотра
Пригласить эксперта
Ответы на вопрос 2
kowap
@kowap Автор вопроса
Сделал с помощью SqlDataProvider
public function getDataProvider()
	{
		return new SqlDataProvider([
			'sql' => 'select `tag`.*, (select count(*) from `tag_join_page` where `tag_join_page`.`id_tag` = `tag`.`id_tag`) as `total` from `tag` order by `total` DESC',
			'pagination' => [
				'pageSize' => 50
			]
		]);
	}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Max.Credit Санкт-Петербург
от 150 000 до 150 000 руб.
Willz Москва
от 150 000 руб.
Fmedia Санкт-Петербург
от 40 000 до 100 000 руб.
17 авг. 2018, в 17:10
15000 руб./за проект
17 авг. 2018, в 16:58
60000 руб./за проект
17 авг. 2018, в 16:55
10000 руб./за проект