Articles.php 920 Bytes
<?php

namespace frontend\modules\news\models\search;

use yii\data\ActiveDataProvider;
//
use thread\app\web\Pagination;
//
use frontend\modules\news\models\{
    Article, Group
};

/**
 * Class Articles
 *
 * @package frontend\modules\news\models\search
 * @author FilamentV <vortex.filament@gmail.com>
 * @copyright (c), Thread
 */
class Articles
{
    public $limit = 20;

    /**
     * @return ActiveDataProvider
     */
    public function search(Group $group)
    {
        $q = Article::find()->group_id($group['id']);

        $dataProvider = new ActiveDataProvider([
            'query' => $q,
            'pagination' => [
                'class' => Pagination::class,
                'pageSize' => $this->limit
            ],
            'sort' => [
                'defaultOrder' => [
                    'id' => SORT_DESC
                ]
            ]
        ]);

        return $dataProvider;
    }
}